2017-06-14 18 views
0

因此,我正在读入Redux模式,虽然我知道它的工作原理,但我不确定确切的目的。Redux提供的优势在于创建一个可全局访问的类别吗?

为什么我不能创建一个全局规模的服务类,每个类都可以设置和访问。

@Injectable() 
export class SettingsService { 

    constructor() { } 

    public MyVariable: number = 20; 

} 


<p> 
    <label class="label">Adjust my variable</label> 
    <input class="slider" type="range" max="150" min="1" [(ngModel)]="settingService.RouteLength" /> {{settingService.MyVariable}} 
    </p> 
<p> 

与仅仅每个人都可以访问的类相比,实现redux模式还有什么额外的好处?

回答

3

Redux不仅仅是存储数据的中心位置。这是一个定向的数据流。 更多的信息:http://fluxxor.com/what-is-flux.html

我会解释我的经验。我相信这一点,并在我的服务中使用了BehaviorSubject并实现了代码。这是非常乏味和混乱。

我使用@ngrx/store类似于redux。它给了我这些优势:

  1. 预定义的语法:语法是明确和严格。不需要重新发明轮子,我立刻停止建筑 的思维去直行与我的应用程序逻辑

  2. 松耦合代码:这是生命换我。在我们的团队 中,我们可以在不同开发人员之间共享任务,并且每个人都可以完成他们的任务,而不依赖于其他开发人员。 单元测试也是独立的。我们可以独立编写服务,Reducer, 特效,组件+ HTML代码。这就像一个奇迹。

  3. Redux开发工具:使用Redux开发工具,我们可以回去和前进,检查数据状态等,它使生活更轻松。我们也可以用 来演示UI。我通常会回去的状态,并显示 加载页面的样子,错误页面的样子等,

  4. 不可改变的数据:因为数据只在减速更新,很容易调试代码。相信我,即使是初级开发人员(有几个月的经验),我们也没有任何错误。它非常直接。

它看起来像一个简单的想法,但在开发体验上有巨大的差异。

唯一的缺点是语法冗长,但感觉很好,看到一切正常工作。

相关问题