Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Redux-保持相关还原程序同步_Redux - Fatal编程技术网

Redux-保持相关还原程序同步

Redux-保持相关还原程序同步,redux,Redux,我现在正在构建一个Angular 1.5应用程序,我正在增量添加Redux。我遇到了一个问题,我很难找到一个好的解决方案。我的应用程序主要处理显示数据的小部件,并管理定义这些小部件中显示哪些数据的配置。随着我向Redux添加更多的状态,widgets缩减器变得越来越大。我已经把它分解成几个更小的减速器,但现在我想知道这样一个设置的可维护性 从本质上说,我担心将来修改一个减速机或添加一个对小部件数据进行操作的新操作,然后忘记调整所有其他减速机来考虑系统的这一新方面,会太容易了。或者,小部件状态可以

我现在正在构建一个Angular 1.5应用程序,我正在增量添加Redux。我遇到了一个问题,我很难找到一个好的解决方案。我的应用程序主要处理显示数据的小部件,并管理定义这些小部件中显示哪些数据的配置。随着我向Redux添加更多的状态,widgets缩减器变得越来越大。我已经把它分解成几个更小的减速器,但现在我想知道这样一个设置的可维护性

从本质上说,我担心将来修改一个减速机或添加一个对小部件数据进行操作的新操作,然后忘记调整所有其他减速机来考虑系统的这一新方面,会太容易了。或者,小部件状态可以通过减速机改变的各种方式将变得如此复杂,以至于很难确保我已经正确地调整了所有必要的减速机


当一个小部件被移除/移动/修改/无论什么时候,许多这样的简化程序本质上只需要做出反应。我希望在Redux中有一个简单的捕获方法来实现这一点,就像在vanilla Angular中的深度观察(我知道深度观察者通常应该避免,但只是作为一个例子)。随着我将更多的应用程序转换为使用Redux,这些简化程序将变得越来越复杂。看来这是一场失败的比赛。是否有一些不同的方法来处理这个问题,更适合这个问题空间?或者我应该接受一些减速机将是巨大的,这就是它应该是什么样子?谢谢你的意见

我的特定问题的解决方案主要是将与给定小部件相关的所有状态保留在一个对象中,这样我就不会有多余的数据管理需求。我将state和reducer分开,这导致管理数据清理和维护的相同逻辑分布在不同的reducer中。如果我只是通过实现高阶减缩器来拆分减缩器,并为一个概念将状态保持在一个位置,那么这个问题就消失了