UseState更新多层数据无效
来源:3-6 在函数组件使用 state - useState Hook

慕婉清4122940
2021-07-01
UseState只能监听浅层数据,如果我使用了多层数据,则UseState就不更新数据了怎么办。
写回答
1回答
-
张轩
2021-07-01
同学你好 针对多层数据 一定要保证不要 mutable 的修改数据,而是要返回数据新的拷贝。
比如
const styling = { 'a': 1, 'e': 2, 'b': { 'c': 2, 'd': 3 }, } const [style, setStyle] = useState(styling); // 现在我要修改 c 的值为 4,那么应该写做: setStyle({ ...style, b: { ...style.b, 'c':4 } }) 再多层同理。 这样假如是很深层的写起来自然比较麻烦。如果真的遇到很多层的问题, 可以学习使用一下 https://github.com/immutable-js/immutable-js
012021-07-01
相似问题