我是Angular2的新手。 Angular提供了各种选项来管理应用程序的状态,如ngrx / store,角度服务等。如果我们使用ngrx / store管理应用程序的状态,那么我们需要一个外部库,但是如果角度服务不需要。应该用什么来管理应用程序的状态?每种方法的优缺点是什么?是否有任何由角度社区提供的建议?
答案 0 :(得分:0)
您不需要ngrx / store来实现redux-store。你可以自己实现一个。在线有多个教程,展示了如何以轻量级方式完成。但是ngrx / store是由谷歌人开发和支持的,所以它是一个你可以信赖的成熟框架,它也提供了一些简洁的功能,比如异步事件的效果和开发中的不变性检查。
主要问题是你是否应该使用redux模式/商店。这高度取决于您的应用程序架构。对于较小的应用程序,它可能工作量太大,特别是如果您没有明确的用户故事并且事情可能会快速变化。但是,如果您有一个大型SPA,通常建议使用中央数据流存储,例如,终极版。它确保应用程序中的数据流是单向的,并且在应用程序的重要部分没有循环依赖性,随着应用程序变得更加复杂,将来会导致奇怪的错误。
即使在SPA中,您也可以使用不属于商店的UI库。启用或禁用按钮原型是其组件应该注意的事情。但是,应用程序模块中使用的相同按钮应该代表提供或不提供的特定功能,并且应该在redux中表示。
我强烈建议您查看ngrx-store示例应用程序,看看自己的好处和缺点。