【发布时间】:2019-12-28 23:22:34
【问题描述】:
我刚刚注意到,每次单个元素发生变异时,我的 Array.map 函数生成的元素都会重新渲染。 以下示例演示了该问题。我可以看到元素正在被重新渲染,因为在渲染时使用了 console.log 函数,但是 useEffect 函数表明 props 没有改变。
https://codesandbox.io/s/polished-flower-8shvj
我错过了什么吗?
【问题讨论】:
-
请在问题中提供minimal reproducible example,但是:您是否提供了合理的密钥道具?
-
实际上,您的代码来自 codesandbox 的代码工作正常,并且在 useEffect 中您可以记录值,它会改变。现在你只是记录名称。只要您保持相同的 dom 结构和键名,数组映射就不会重新安装您的组件。
标签: reactjs list optimization