不是让应用程序代码直接变更数据,而是告诉您将每个变异描述为一个称为“动作”的普通对象。 与Flux不同,Redux没有Dispatcher的概念。
禁止重新分配函数参数(no-param-reassign) 赋值给声明为函数参数的变量可能会引起误解,并导致混淆行为,因为修改函数参数也会使arguments对象变异。
Redux在其combineReducers函数中使用浅层平等检查来返回根状态对象的新变异副本,或者,如果没有进行突变,则返回当前根状态对象。
它只是进行浅层比较,所以如果道具或状态可能以浅层比较错过的方式进行了变异,则不能使用它。这可能是一个更复杂的数据结构的问题。
_data例如,使用变异this._data.push(newRowData)将是一个错误。_rowHasChanged了解行数据的形状并知道如何有效地比较它。
更关键的是,如果你申请的另一个HOC到EnhancedComponent那个也发生变异componentWillReceiveProps,第一HOC的功能将被改写!
如果Redux状态树导致输入选择器值发生变化的方式进行变异,则选择器将使用输入选择器的值作为参数调用其变换函数并返回结果。
最后,一些具体的规则是单独的系统调用,例如personality,socket,socketcall,和其他,允许这些系统的变异与特定的参数来调用。

扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2026 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059
粤公网安备44030502008569号
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号
