useState多个变量太长,合理优化
解决办法:
使用 useImmer 替代 useState,
用对象包含多个属性,对对象的属性进行修改,然后用immer去处理。
使用 useImmer 替代 useState,
immer.js 这个库,是基于 proxy 拦截 getter 和 setter 的能力,让我们可以很方便的通过修改对象本身,创建新的对象用对象包含多个属性,对对象的属性进行修改,然后用immer去处理。
const [state,setState] = useImmer({
a: 1,
b: {
c: [1,2]
d: 2
},
});
setState(prev => {
prev.b.c.push(3);
}))

浙公网安备 33010602011771号