簡體   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