要向后台提交一个对象,设计state的时候,是分别为对象里面每个字段设计一个state?还是只有一个对象的state?第二种情况是否可行?如果可行两种情况哪种比较好一点?(组件内的state)补充:第一种情况:this.state={ key1:'', key2:''}第二种情况:this.state={ object:{key1:'',key2:''}}
1 回答
![?](http://img1.sycdn.imooc.com/5458477300014deb02200220-100-100.jpg)
哆啦的时光机
TA贡献1779条经验 获得超6个赞
其实这种情况下,还是看你的提交数据吧,分析下第一种和第二种的利弊:
第一种:
优点是state都放在一个层级,在更新state的时候this.setState()会类似extend的方式更新数据,不用每个都更新数据,也就是state里面什么变了更新什么,
缺点也是解构扁平,是不友好的风格
第二种
结构好,符合大部分风格要求
更新state的时候需要注意,因为state里面的object对象里面的数据都需要更新,不然就会被覆盖了,甚至丢失了,
所以要看你的业务的修改,state的变化情况和修改情况,如果变化频繁,而且数据较多的话,其实可以考虑第一种,因为数据多,但是变化的可能就是几个,setstate会做扩充追加,不然第二种就需要任何变化都需要更新整个state里面的object,即使有的object属性数据没有变化。
添加回答
举报
0/150
提交
取消