更新其他对象内部对象的状态,React js
Update state in object inside other object, React js
好吧,我在另一个对象中有一个对象,我想在第二个对象中更新一个 属性 或更多的状态,这是状态 :
const [products, setProducts] = useState({
name: '',
type: '',
price: '',
sizes: { s: false, m: false, l: false, xl: false }
});
我怎样才能访问第二个对象中的 属性 我已经试过了,但它不起作用:
setProducts({...products, sizes : {...sizes, sizes[m] : true}}) // this not working
有什么办法吗?
试试这个。
setProducts({ ...products, sizes: { ...products.sizes, m: true } });
你可以试试:
setProducts(prevState=> ({ ...prevState, sizes: { ...prevState.sizes, m: true } }));
这也可以防止关闭时出现问题
如果您想使用 true
或 false
更新其他尺寸,您可以将其抽象为
const updateSize = (field, value) => {
setProducts(prevState=> ({
...prevState,
sizes: { ...prevState.sizes, [field]: value }
}));
}
好吧,我在另一个对象中有一个对象,我想在第二个对象中更新一个 属性 或更多的状态,这是状态 :
const [products, setProducts] = useState({
name: '',
type: '',
price: '',
sizes: { s: false, m: false, l: false, xl: false }
});
我怎样才能访问第二个对象中的 属性 我已经试过了,但它不起作用:
setProducts({...products, sizes : {...sizes, sizes[m] : true}}) // this not working
有什么办法吗?
试试这个。
setProducts({ ...products, sizes: { ...products.sizes, m: true } });
你可以试试:
setProducts(prevState=> ({ ...prevState, sizes: { ...prevState.sizes, m: true } }));
这也可以防止关闭时出现问题
如果您想使用 true
或 false
更新其他尺寸,您可以将其抽象为
const updateSize = (field, value) => {
setProducts(prevState=> ({
...prevState,
sizes: { ...prevState.sizes, [field]: value }
}));
}