使用对象来响应本机setState问题

时间:2020-04-08 18:27:35

标签: reactjs react-native native

我不为什么我的setQuantity不使用setState更新“ quantity”变量。 在函数内部,对象被更新,而不是变量“ quantity”。

"mongodb://mongo-0.mongo,mongo-1.mongo:27017/dbname_?"

控制台显示最后一次更改是6个午餐。我在函数外部有一个用于“数量”的控制台,以查看是否发生更改,但仅在加载屏幕时显示初始值(0、0、0)。

Preview

您能帮我解决这个问题吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

同样的错误,您正在改变状态,请不要这样做。始终设置新参考以触发具有更新值的渲染

const [quantity, setQuantity] = useState({breakfast: 0, lunch: 0, dinner: 0});

const onChangeQuantity = (value, type) => {
    let qty = { ... quantity }; // make a copy
    qty[type] = value;
    setQuantity(qty);
};