Я пытаюсь изменить свое состояние с помощью хука useState. Мой крючок выглядит так.
const [data, setData] = useState(initialDataState);
Начальное состояние:
const initialDataState = {
EMAIL_TYPE: "",
NAME_TYPE: "",
GENDER_TYPE: "",
ZIP_TYPE: "",
DEVICES_TYPE: []
};
Я вызываю setData
из функции с двумя реквизитами типа состояния для изменения и значения. Моя функция:
const handleChange = (key, value) => {
setData(prevState => {
return { ...prevState, ...(prevState[key] = value) };
});
};
В РЕЗУЛЬТАТЕ, когда я вызываю свою функцию handleChange
, я не могу правильно изменить значение, потому что не могу получить правильный ключ в prevState.
Мой вопрос: "Как правильно изменить состояние в случаях, когда вы получаете ключ, в котором вы хотите изменить значение без изменения состояния"
return { ...prevState, ...(prevState[key] = value) };
наreturn { ...prevState, prevState[key]: value };
- person Junius L.   schedule 19.05.2020