繁体   English   中英

使用 key prop 强制重新安装 React 组件

[英]Using the key prop to force re-mount of a React component

我们有一个案例,我们需要重新安装第三方组件来触发安装过程中发生的事情。 不要与我们更喜欢的更新/重新渲染混淆,但我们限制了对组件的控制。

然而,我们一直在四处寻找,发现很多人建议使用 key prop 并在组件重新安装后更改值。 我们已经对其进行了测试,它似乎按预期工作,但问题是https://reactjs.org 上没有关于这种方法的官方文档,而且我以前从未见过它。 仅与列表/迭代一起使用,但不能与单个元素一起使用。

你怎么认为?

您可以在React docs 中找到问题的间接答案。

密钥应该是稳定的、可预测的和唯一的。 不稳定的键(如 Math.random() 产生的键)将导致不必要地重新创建许多组件实例和 DOM 节点,这可能导致子组件的性能下降和状态丢失。

所以重新安装行为是有意的。 恕我直言,作为和解算法的一部分,它也是稳定的。

仅在 JSX 中的列表(数组)中使用键才有意义。 否则这不应该有任何影响,如果确实如此,我不想在生产中依赖这种行为,因为我认为这不是故意的

https://reactjs.org/docs/lists-and-keys.html#keys

你能告诉我们你使用的第三方库是什么吗? 也许您的问题有更好的解决方法!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM