Чтобы обновить объект в хуках React, вы можете использовать несколько методов. Вот несколько распространенных подходов:
-
Использование оператора распространения:
const [myObject, setMyObject] = useState({ prop1: 'value1', prop2: 'value2' }); const updateObject = () => { setMyObject({ ...myObject, prop2: 'new value' }); }; -
Использование метода Object.assign():
const [myObject, setMyObject] = useState({ prop1: 'value1', prop2: 'value2' }); const updateObject = () => { setMyObject(Object.assign({}, myObject, { prop2: 'new value' })); }; -
Использование библиотеки immer (для неизменяемости):
import produce from 'immer'; const [myObject, setMyObject] = useState({ prop1: 'value1', prop2: 'value2' }); const updateObject = () => { setMyObject(produce(myObject, draft => { draft.prop2 = 'new value'; })); };
Это всего лишь несколько способов обновления объекта с помощью перехватчиков React. Вы можете выбрать тот, который соответствует вашим требованиям и стилю кодирования.