使用useState向状态添加json值



我试图将json对象推入过量的useState。而我console.log它,我得到了我的默认数据完美。当我试图把新数据推到旧数据上的时候。我的新数据没有被推送。

const [shopCart, setShopCart] = useState({Description:"Apple"});
const disptechProductUpdate = (prod: any) => {
console.log(prod)
let updatedValue = {};
updatedValue = prod;
console.log(updatedValue)

setShopCart(shopCart => ({
...shopCart,
...updatedValue
}));
console.log(shopCart)
}
<Button  onChange={(e) => disptechProductUpdate({ Description: "Fruits" })}>Print</Button>

控制台输出

{Description: 'Fruits'}
{Description: 'Fruits'}
{Description: 'Apple'}

Replace

setShopCart(shopCart => ({
...shopCart,
...updatedValue
}));

setShopCart({
...shopCart,
...updatedValue
});

(你正在用一个返回一个对象的函数替换你的对象,而不是用新对象替换它)

相关内容

  • 没有找到相关文章

最新更新