React.memo为什么不是默认行为?

如果React.memo是默认行为会有什么副作用吗?

我只能想到mutable式改变数据不会触发memo组件rerender,但是React本身就是推崇immutable式更改数据的啊。

阅读 3.7k
3 个回答

关于性能优化的第一条准则就是不要过早的进行性能优化

memo是通过props的浅比较来决定要不要render的 对于props经常变化的组件 这个比较只会新增性能损耗 所以没必要。所以要不何时使用交给真正的开发者决定

我感觉是历史问题,因为以前就是非memo的行为,你要改成默认memo行为就是引入了breaking change,就可能会导致以前版本没问题的代码现在可能会出问题
还有就是默认非memo行为你可以用React.memo包一层让他变成memo行为,如果默认memo行为你没办法把它变成非memo行为了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题