Наш проект охватывает новые функциональные компоненты React и интенсивно использует различные хуки, в том числе useState
.
В отличие от setState()
метода класса React, метод установки полностью возвращает useState () заменяет состояние вместо слияния .
Когда состояние является картой, и мне нужно удалить ключ, я клонирую существующее состояние, удаляю ключ, затем устанавливаюновое состояние (как показано ниже)
[errors, setErrors] = useState({})
...
const onChange = (id, validate) => {
const result = validate(val);
if (!result.valid) {
setErrors({
...errors,
[fieldId]: result.message
})
}
else {
const newErrors = {...errors};
delete newErrors[id];
setErrors(newErrors);
}
Есть ли лучшая альтернатива (лучше быть более эффективной и / или стандартной)?