我一直在使用 react 多年,但我仍然有一個簡單的問題,我永遠無法理解,也無法在任何地方得到答案。在反應組件主體中呼叫外部函式是否不好?
例如:
import { getUser } from './helpers';
function MyComponent() {
const user = getUser();
return (
...
當組件被父組件重新渲染時,用戶變數會發生什么?在組件體中創建的變數在記憶體中再次創建?我應該使用useCallbackoruseMemo嗎?我覺得這兩個反應函式是出于其他原因,因為計算成本高,并防止不必要的道具重新渲染。
uj5u.com熱心網友回復:
根據我的經驗回答您的第一個問題,我從未聽說過在反應體內呼叫外部函式很糟糕。事實上,它一直受到鼓勵,特別是對于您的示例中的輔助函式。肯定有其他方法可以處理可能需要多次使用的輔助函式(想到 useContext),但我認為匯入外部函式以在反應體中呼叫沒有任何問題。
至于user您的示例中發生的情況,它將重置為getUser()任何組件重新渲染時的新回傳。
uj5u.com熱心網友回復:
該user變數將設定為每次重新渲染時 getUser() 回傳的值。然而,getUser() 將在每次重新渲染時運行。
React Hooks 是use函式名稱開頭的函式,在此處記錄。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/439985.html
標籤:javascript 反应
