gpt4 book ai didi

reactjs - 在 React 中更新对象状态的特定字段

转载 作者:行者123 更新时间:2023-12-05 02:30:44 26 4
gpt4 key购买 nike

我正在使用 React 功能组件,我只想更新状态的特定字段并像以前一样保留其他值。这是状态初始化 -

const[value, setValue] = React.useState({
a: "5",
b: "6"
});

我希望只将“a”的值更新为其他值,假设为 7(同时为“b”保留相同的值)。目前我正在这样做 -

setValue(currValue => ({
...currValue,
a: "7"
}))

这是错的吗?如果是,正确的做法是什么?

最佳答案

你所做的是正确的。

这是根据状态的当前值更新状态的正确方法。它称为 setState 调用的功能形式。

setState((prevState) => {
// Do something with prevState
return newState; // Be aware to not mutate the prevState directly
});

例子:

// Array

setState((prevState) => {
const newState = Array.from(prevState);
newState.push('foo');
return newState;
});

// Object

setState((prevState) => {
return({
...prevState,
foo: 'bar'
});
});

主要是对象/数组引用需要改变!

关于reactjs - 在 React 中更新对象状态的特定字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71751120/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com