我阅读了很多有关 Signals 的内容,这些信号将与 Angular 16 一起发布,并且已经用它进行了一些编码。太棒了!
我听说(并且相信)它可能会取代几乎所有 RxJs 代码,期望异步相关的东西,比如获取 API。
我的问题:在没有像 NgRx 这样的第三方工具的情况下,这不是处理状态管理的好方法吗?你有什么想法?
我自己也从事上述两种技术的工作
以下是官方文档的摘录:
信号可以包含任何值,从简单的基元到复杂的 数据结构.
如果信号可以包含复杂的数据结构,并且可以在应用程序中的任何位置以不可变或可变的方式轻松地进行反应式访问,那么信号可以用作完全成熟的状态管理解决方案。
在我看来,Signals 完全有潜力在未来的大多数 Angular 项目中取代 NgRx。
我认为它更有可能取代 RxJs(而不是 NgRx),但我还没有真正弄清楚 Signals 附带什么存储解决方案。
Signals 永远不会取代 Ngrx,它只是一种补充。
对于非常简单的项目,您可以不使用 Ngrx,而只使用 Signals。 但如果您正在做比小项目更大的事情,您应该使用适当的状态管理。
Ngrx 可以将选择器公开为信号,这样您就可以两全其美。这真是太神奇了。 我们现在有一个使用 Angular 16.1 完成的生产应用程序,它是一个使用 Ngrx/Store 和 Signals 的大型独立应用程序。这是真正改变游戏规则的体验,信号和注入()所实现的功能令人惊叹。