【发布时间】:2025-11-24 14:50:01
【问题描述】:
学习 React 和 Redux。我正在使用 Redux 示例,目前正在查看 todo-with-undo 示例(认为不可能设置沙箱或其他东西)。在此设置中,有一个容器组件 (TodoList) 和它的子组件 (Todo)。
我将 Todo 从一个功能组件修改为 PureComponent 类,因此如果所有的 prop 引用都相同,shouldComponentUpdate() 将返回 false,因此组件不应更新(但它们仍会重新渲染???) .
添加代码在子组件使用 componentDidUpdate() 方法更新时进行记录,并在重新渲染时进行记录,这表明每次将新的 Todo 添加到容器中时,所有元素都会更新并重新渲染 -即使是 PureComponents - 每个孩子的新旧道具的浅层比较应该为新的或更新的孩子返回 false。
作为 Redux 构建的示例,我怀疑他们是否错误地更新了商店(不是以不可变的方式),因为这是他们概念的重点,所以我相信我没有完全理解某些东西 -> 有人请帮忙.. .
【问题讨论】:
标签: javascript reactjs redux