起初,我曾经有过这种状态:
const [object, setObject] = useState({
var1: 'value 1',
var2: 'value 2',
var3: 'value 3',
booleanVar: false
});
当我想更新值时,我这样做了:
const newState = {
var1: 'new value 1',
var2: 'new value 2'
}
setObject(prevState => ({ ...prevState, ...newState }));
上面的例子工作得很好,但现在我有另一个包含一个对象的状态,在这个对象中我有一个对象数组。
const [object, setObject] = useState({
array: [
{
var1: 'value 1',
var2: 'value 2',
var3: 'value 3'
}
],
booleanVar: false
});
访问和更新数组内对象的正确方法是什么?
我怎样才能在数组中添加另一个对象?
有没有像我以前一样的简单方法?
答案 0 :(得分:1)
试试这个:
const stateCopy = {...state};
stateCopy.array[0].var1 = 'foo';
setObject(stateCopy);