当initialState是对象时如何更新State

时间:2019-06-18 20:15:53

标签: reactjs object react-hooks

我正在尝试使用钩子更新我的应用程序状态,并且在弄清楚如何访问每个钩子以使其在完成后变为真实时遇到麻烦。

    const [stepCompleted, setStepCompleted] = useState({
        stepOne: false,
        stepTwo: false,
        stepThree: false,
        stepFour: false,
        stepFive: false,
        stepSix: false,
        stepSeven: false,
        stepEight: false,
    });

这无效:

setStepCompleted.stepOne(true)

------------------------------

setStepCompleted(stepOne = true)

1 个答案:

答案 0 :(得分:2)

您可以将函数传递给更新程序,以获取当前状态并将其与新状态合并:

setStepCompleted(state => ({...state, stepOne: true}))

但是,如果这些值在很大程度上是独立的,那么使用单独的状态可能会更有用。

另请参阅: