Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 在React中是否有任何类型的shouldComponentRender_Reactjs - Fatal编程技术网

Reactjs 在React中是否有任何类型的shouldComponentRender

Reactjs 在React中是否有任何类型的shouldComponentRender,reactjs,Reactjs,假设有一个选项卡式手风琴,用户可以一次打开一个选项卡,渲染每个容器需要100毫秒以上(有时像1秒)。我如何才能实现这样一种功能,用户不会每次在选项卡之间导航时都感到滞后,并且第一次渲染也不会很慢 我正在考虑以下方法: 分离元素(或缓存) 实现类似于shouldComponentUpdate的东西,但这是第一次渲染 某些中间路径组件,如果在第一次渲染中隐藏选项卡,则不会渲染,如果当前渲染的选项卡隐藏,则不会更新 检查选项卡是否在之前渲染,如果它未处于活动状态且未渲染,则不要添加它 有没有做这种事情

假设有一个选项卡式手风琴,用户可以一次打开一个选项卡,渲染每个容器需要100毫秒以上(有时像1秒)。我如何才能实现这样一种功能,用户不会每次在选项卡之间导航时都感到滞后,并且第一次渲染也不会很慢

我正在考虑以下方法:

  • 分离元素(或缓存)
  • 实现类似于shouldComponentUpdate的东西,但这是第一次渲染
  • 某些中间路径组件,如果在第一次渲染中隐藏选项卡,则不会渲染,如果当前渲染的选项卡隐藏,则不会更新
  • 检查选项卡是否在之前渲染,如果它未处于活动状态且未渲染,则不要添加它
  • 有没有做这种事情的库或组件?或者我如何实现其中一个


    注:这不仅关乎性能,还有滚动位置,在选项卡之间切换时需要保留的用户交互(如在一个选项卡中更改的输入)

    如果不希望组件渲染,请从其
    render
    方法返回
    null
    。但我敢说,如果每个选项卡都需要100–1000毫秒的渲染时间,你会遇到更大的麻烦。@Jordan真正的问题不是时间和性能,当我一次渲染所有选项卡时,可能会花费那么多时间,如果我为一些选项卡返回null,那么在每个开关中,我必须渲染曾经渲染过的选项卡,用户会感觉到的。你能把你的代码放在代码段或JSFIDLE中吗?我正在尝试创建一个代码段,但找不到任何支持jsx和react 0.14的代码段站点!