Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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 如果父组件和子组件对相同的数据使用useSelector钩子,react组件会呈现两次吗?_Reactjs_Performance_Optimization_React Redux - Fatal编程技术网

Reactjs 如果父组件和子组件对相同的数据使用useSelector钩子,react组件会呈现两次吗?

Reactjs 如果父组件和子组件对相同的数据使用useSelector钩子,react组件会呈现两次吗?,reactjs,performance,optimization,react-redux,Reactjs,Performance,Optimization,React Redux,我想知道,在如下所示的情况下(父组件和子组件正在访问相同的数据),子组件是否会被渲染两次,因为useSelectorhook会在每次状态更改时重新渲染组件 function Parent() { const data = useSelector(state => state.data); return ( <div> <div> {data} </div> <Child/>

我想知道,在如下所示的情况下(父组件和子组件正在访问相同的数据),子组件是否会被渲染两次,因为
useSelector
hook会在每次状态更改时重新渲染组件

function Parent() {
  const data = useSelector(state => state.data);
  return (
    <div>
      <div>
        {data}
      </div>
      <Child/>
    </div>
  )
}

function Child() {
  const data = useSelector(state => state.data);
  return (
    <div>
      {data}
    </div> 
  )
}
函数父函数(){
const data=useSelector(state=>state.data);
返回(
{data}
)
}
函数子(){
const data=useSelector(state=>state.data);
返回(
{data}
)
}
在它的中使用,因此子组件不会被渲染两次,因为
React.memo
可以防止不必要的渲染