这是代码:codepen。问题是,当我添加一个新的待办事项或将待办事项状态更改为已完成时,其他待办事项也会重新呈现?
有什么办法可以阻止这种情况吗?
如果您使用的是功能组件,请使用React.memo;如果使用的是基于类的组件,则使用React.PureComponent
React.memo:https://scotch.io/tutorials/react-166-reactmemo-for-functional-components-rendering-control
React.PureComponent:https://ozmoroz.com/2018/09/what-is-purecomponent/
这些背后的想法是检查组件的道具,只有在道具发生变化时才重新渲染。这些组件使用生命周期方法shouldComponentUpdate内部并根据道具更改来决定是否重新渲染组件。
不过,有一个问题,React只对具有嵌套属性的对象和具有嵌套对象的数组执行浅层检查,因此可能会也可能不会发生重新渲染。