我有兩個問題:
- 在我輸入輸入后,輸入失去焦點
- 我在控制臺中收到一個錯誤,說我需要為 renderFields 設定一個唯一的鍵,我有一個唯一的鍵!我在這里加載了代碼:https : //codesandbox.io/s/autumn-cookies-qkzfz
預先感謝您的回答。
uj5u.com熱心網友回復:
2個問題密切相關。
錯誤 1. 在您鍵入組件時發生的是隨機生成的 uuid(特別是key={uuidv4()})。
這導致輸入失去焦點的原因是,每次輸入發生更改時,您都會更新狀態,這將使用新鍵重新渲染組件(uuidv4()再次運行時)。
發生這種情況時,React 不知道用戶仍在輸入同一個組件,因為鍵不同(因為已生成新的 UUID),因此它無法正確識別哪個組件具有焦點。
您可以使用一致的密鑰來解決此問題。如果您的欄位有 id,請使用它。擁有一致的唯一鍵將防止輸入失去焦點。
要消除警告,請確保您的所有退貨都具有唯一鍵。現在只有 case fortext有一個關鍵道具。將密鑰添加到其他可能的情況下,錯誤就會消失。
此外,您的 switch 有一個default: break- 而是在此處回傳 null 然后沒有回傳 switch 的每個可能結果。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/384516.html
上一篇:在影片中洗掉()不會洗掉
