如何使用 useState React 正确更改其中一个状态对象值
How to change one of the state object value correctly with useState React
我正在尝试使用 useState 挂钩更改我的状态。
我的钩子是这样的。
const [data, setData] = useState(initialDataState);
初始状态:
const initialDataState = {
EMAIL_TYPE: "",
NAME_TYPE: "",
GENDER_TYPE: "",
ZIP_TYPE: "",
DEVICES_TYPE: []
};
我从函数中调用 setData
具有 2 个要更改的 props 类型的状态和值。
我的函数:
const handleChange = (key, value) => {
setData(prevState => {
return { ...prevState, ...(prevState[key] = value) };
});
};
结果是,当我调用 handleChange
函数时,我无法正确更改值,因为无法在 prevState 中获取正确的键。
我的问题是:"How correctly change state in cases when you are getting key in which you want to change the value without state mutating"
您需要传递现有状态和要更新的密钥
const handleChange = (key, value) => {
setData(prevState => {
return {
...prevState,
[key]: value
};
});
};
我正在尝试使用 useState 挂钩更改我的状态。 我的钩子是这样的。
const [data, setData] = useState(initialDataState);
初始状态:
const initialDataState = {
EMAIL_TYPE: "",
NAME_TYPE: "",
GENDER_TYPE: "",
ZIP_TYPE: "",
DEVICES_TYPE: []
};
我从函数中调用 setData
具有 2 个要更改的 props 类型的状态和值。
我的函数:
const handleChange = (key, value) => {
setData(prevState => {
return { ...prevState, ...(prevState[key] = value) };
});
};
结果是,当我调用 handleChange
函数时,我无法正确更改值,因为无法在 prevState 中获取正确的键。
我的问题是:"How correctly change state in cases when you are getting key in which you want to change the value without state mutating"
您需要传递现有状态和要更新的密钥
const handleChange = (key, value) => {
setData(prevState => {
return {
...prevState,
[key]: value
};
});
};