gpt4 book ai didi

reactjs - react : how to overwrite state

转载 作者:行者123 更新时间:2023-12-05 03:02:01 25 4
gpt4 key购买 nike

通常当我们setState时,我们想要将一些新状态与旧状态合并。我有一个用例,我想覆盖旧状态。有什么干净的方法可以做到这一点吗?

例如,假设我当前的状态有 561 个不同的属性。我希望新状态具有 3 个属性。我是否必须在 for 循环中迭代所有属性并调用 setState 561 次才能单独删除它们中的每一个?

最佳答案

没有干净的方法,在组件构建之后重新分配 this.state 被认为是一种不好的做法。

正如问题中所建议的,应该通过迭代其键来清理状态:

setState(prevState => {
const state = {};
for (let key in prevState)
state[key] = undefined;
...
return state;
});

如果要处理的属性太多,这可能意味着状态最初的结构效率低下。

关于reactjs - react : how to overwrite state,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55226579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com