相关疑难解决方法(0)

反应备忘录组件并在传递函数作为道具时重新渲染

假设我有以下React组件:

const Compo1 = ({theName}) => {
  return (
    <Nested foo={() => console.log('Dr. ' + theName)}/>
  );
};

const Compo2 = ({theName}) => {
  function theFoo() {
    console.log('Dr. ' + theName);
  }
  return (
    <Nested foo={theFoo}/>
  );
};
Run Code Online (Sandbox Code Playgroud)

和嵌套的组件,包裹在memo

const Nested = React.memo(({foo}) => {
  return (
    <Button onClick={foo}>Click me</Button>
  );
});
Run Code Online (Sandbox Code Playgroud)

在传递函数foo总是重建Compo1Compo2,是否正确?

如果是这样,既然foo每次都收到一个新功能,是否意味着memo将无用,从而Nested总是被重新渲染?

javascript memo reactjs

7
推荐指数
2
解决办法
2339
查看次数

标签 统计

javascript ×1

memo ×1

reactjs ×1