在我的代码中,我目前的状态如下:
const [caclulatorObj, setCalculatorObj] = useState({
total: '0',
next: null,
operator: null
});
function clickHandler(isOperator, value) {
setCalculatorObj(calculate(caclulatorObj, value));
}
calculate函数如上所述返回一个对象。我的问题是,更新状态时是否总是必须设置一个完整的对象?例如,在我的calculate
函数中,也许我只更新next
变量:
return {
total: calculatorObj.total,
next: someNewValue,
operator: calculatorObj.operator
}
我可以代替它吗?:
return { next: someNewValue };
还是我总是需要返回完整的对象?
答案 0 :(得分:1)
您需要像这样设置状态:
onClick={(e) => clickHandler(false, 'next', e.target.value )}
当您调用它时,传递您想要修改的密钥:
{{1}}