我對 react 非常熟悉,但我已經考慮了一段時間了。我有父組件和子組件。我想在父組件中以物件的形式擁有狀態,我想在子組件中設定狀態。問題是:不僅我需要將setState函式傳遞給孩子,我還必須在更新物件中的單個屬性時傳遞狀態本身以傳播它。我還可以為物件中的屬性創建多個狀態,但在這種情況下,我將不得不傳遞多個狀態設定器。
有一個更好的方法嗎?
這里有一些偽代碼可以更好地代表這個問題:
const ParentComponent = () => {
const [state, setState] = useState(a: 1, b: 2)
return <ChildComponent state={state} setState={setState} />
}
const ChildComponent = ({state, setState}) => {
return <button onClick={() => setState({...state, b: state.b 1})}></button>
}
uj5u.com熱心網友回復:
如果您只需要更新值,您可以只傳遞 setter 函式并在 setState 呼叫中使用一個函式
const ParentComponent = () => {
const [state, setState] = useState(a: 1, b: 2)
return <ChildComponent setState={setState} />
}
const ChildComponent = ({setState}) => {
return <button onClick={() => setState( state => ({...state, b: state.b 1}))}></button>
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/341630.html
