为了账号安全,请及时绑定邮箱和手机立即绑定

react-redux修改state实时性的问题

react-redux修改state实时性的问题

斯蒂芬大帝 2018-12-19 16:15:11
比如有一个数组,因为一些需求,需要按下标依次修改数组元素,下面第一个数字是下标,第二个是修改成的值this.props.action(this.props.arr, 0, 1);this.props.action(this.props.arr, 1, 1);this.props.action(this.props.arr, 2, 1);但因为redux修改arr后似乎不能实时更新并传到组件,所以导致这三条命令执行完之后,前两条被最后一条覆盖了也就是说arr初始值是[0,0,0],执行之后变成[0,0,1],而不是[1,1,1]如果把后面两条加定时器倒是可以解决,但不方便,因为是批量操作不止三条,还有个redux-thunk也许可以,没试过不知道有没有什么更方便快捷的方法
查看完整描述

1 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

action中是不需要穿this.props.arr的,你的这个action应该是专门处理arr这个状态的,action只需要传修改元素的下标和修改后的值即可,在reducer中根据这两个参数修改arr这个状态,这样每次dispatch的action都会及时的反应到全局的state上,不会存在你说的覆盖更新问题。


查看完整回答
反对 回复 2019-01-24
  • 1 回答
  • 0 关注
  • 741 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信