每當我使用 React、Vue 或其他任何框架時。我看到每個值(輸入值,選擇值......)總是通過事件發送給父級。我真的不明白為什么這很好。將其傳遞給父組件需要更多資源/時間。為什么組件不自己處理資料?為什么要將子組件中的每個值都傳遞給父組件的狀態來處理資料?例如,我通常會在 parent 中看到 API 的加載,然后 API 的值通過 props 或 Redux/Vuex 傳遞下來。為什么我們不能在掛載子項時直接獲取子項內部的 API 值,而不必在多個級別或通過本地存盤傳遞它
uj5u.com熱心網友回復:
在可重用組件中擁有狀態是完全有效的,尤其是在它包含用戶輸入的情況下。您仍然可以在 props 中為其提供回呼,根據您的需要回應 onChange、onBlur 或其他事件,或者您可以通過 refs 與您的可重用組件進行通信,這是獲取用戶輸入的相當靈活的方式。
重要的是,可重用組件應盡可能獨立于其環境。如果您不為其提供狀態,則組件(在您的 Pickers 的情況下)將依賴于從其父級傳遞下來的 props,表示它在每次重新渲染時都是當前用戶輸入,并且回呼會在組件層次結構中的更高位置更新其當前輸入在每次更改時,這并不是您在每種情況下都想要的,并且它已經迫使您在父組件中進行相對較大的調整,這錯過了可重用性。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/446452.html
下一篇:添加新行以回傳內部方法
