Reactjs 如何防止无状态函数不必要的重新呈现?

Reactjs 如何防止无状态函数不必要的重新呈现?,reactjs,Reactjs,我知道使用尽可能多的无状态函数是一种很好的做法,但我遇到了一个问题,父容器组件渲染,这当然会导致其子容器的级联重新渲染。无状态函数无法(据我所知)选择不渲染 我应该如何优化应用程序的渲染效果,并且仍然使用无状态函数?使用高阶函数: function once(fn) { let called = false; let result = null; return function() { if(!called) { called = true; resu

我知道使用尽可能多的无状态函数是一种很好的做法,但我遇到了一个问题,父容器组件渲染,这当然会导致其子容器的级联重新渲染。无状态函数无法(据我所知)选择不渲染


我应该如何优化应用程序的渲染效果,并且仍然使用无状态函数?

使用高阶函数:

function once(fn) {
  let called = false;
  let result = null;
  return function() {
    if(!called) {
      called = true;
      result = fn.apply(null, arguments);
    }
    return result;
  };
}

const DumbComponent = once(() => {
  console.log("Rendering dumb component"); // will only ever happen once
  return (<div>I am a component</div>);
});
功能一次(fn){
let called=假;
设result=null;
返回函数(){
如果(!调用){
调用=真;
result=fn.apply(null,参数);
}
返回结果;
};
}
常数=一次(()=>{
console.log(“呈现哑组件”);//将只发生一次
返回(我是一个组件);
});

>无状态函数无法(据我所知)选择不渲染。你能指一下文件吗?