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

比如有一个数组,因为一些需求,需要按下标依次修改数组元素,下面第一个数字是下标,第二个是修改成的值


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也许可以,没试过

不知道有没有什么更方便快捷的方法


斯蒂芬大帝
浏览 742回答 1
1回答

哔哔one

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

相关分类

JavaScript