Вы когда -нибудь пытались обновить объект или состояние массива непосредственно в React? Я сделал это, состояние моего компонента не изменилось. Разрушение объекта/массива было решением.
Когда вы обновляете состояние, создайте новый массив/объект, разрушив тот, который в штате манипулируйте им, затем установите как новое значение в штате.
Объект
import React, { useState } from 'react';
const States = () => {
const [objectValue, setObjectValue] = useState({});
const updateObjectValue = (key, value) => {
// Destructure current state object
const objectvalue = {
...objectValue,
[key]: value,
};
setObjectValue(objectvalue);
};
return ;
};
export default States;
Множество
import React, { useState } from 'react';
const States = () => {
const [arrayValue, setArrayValue] = useState([]);
const updateArrayValue = (value) => {
// Destructure current state array
const arrayvalue = [ ...arrayValue ];
arrayvalue.push(value);
setArrayValue(arrayvalue);
};
return ;
};
export default States;
Счастливого взлома!
Оригинал: “https://dev.to/raphaelchaula/how-to-update-object-or-array-state-in-react-4cma”