2017-07-14 47 views
0

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

基本上我担心在将来修改一个reducer或者添加一个新的操作对widget数据进行操作,然后忘记调整所有其他reducers来解释这个系统的新方面。或者,通过缩减器可以改变小部件状态的各种方式会变得非常复杂,以至于确保我已经适当地调整了所有必要的减速器将会非常困难。

很多这些reducer本质上只是需要做出反应,当一个部件被删除/移动/修改/任何。我希望在Redux中有一个简单的全能方式,就像在香草Angular中深入观察(我知道深度观察者应该被普遍避免,但只是一个例子)。当我将更多的应用程序转换为使用Redux时,这些还原器会变得越来越复杂。这似乎是一场失败的比赛。有没有解决这个问题的方法更适合这个问题空间?或者我应该只是接受一些减速器将会变得非常庞大,而且它是如何变成这样的?感谢您的任何意见!

回答

0

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