如何在React中附加一个状态对象

huangapple go评论152阅读模式
英文:

How can I append a state object in react

问题

  const [arr, setArr] = useState({
      value: [],
  });

//我想将值附加到状态对象,但它正在覆盖它。

  setArr((prevState) => ({
      ...arr,
      value: [...prevState.value, res.data],
  }));
英文:
  const [arr, setArr] = useState({
      value: [],
        });

//I want to append the value on the state object but its overwriting it.

  setArr((prevState) => ({
                    ...arr,
                    value: [...prevState.value, res.data],
                }));

答案1

得分: 3

你可以通过比较旧状态数据并将新数据推送到 setArr 函数 来设置新状态。

所以你的新代码将如下所示:

setArr((prevState) => ({
  ...prevState,
  value: [...prevState.value, res.data],
}));
英文:

You can set new state by comparing old state data and push new data inside setArr function.

So your new code will be:

setArr((prevState) => ({
  ...prevState,
  value: [...prevState.value, res.data],
}));

huangapple
  • 本文由 发表于 2023年2月6日 15:09:56
  • 转载请务必保留本文链接:https://go.coder-hub.com/75358294.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定