繁体   English   中英

将react-redux集成到现有的Angularjs应用程序中

[英]Integrating react-redux into an existing Angularjs application

我正在考虑将react-redux集成到Angularjs已有3年历史的代码库中。 我不想立即重构所有代码库,而是通过我的团队将开发的新功能逐步引入react-redux。

  1. 是否有任何最佳做法? (任何资源将不胜感激)
  2. 旧功能(用ng编写)可以包含react-redux部件,还是我必须重写它?
  3. 如何避免进行相同的API调用? (如果两者都需要相同的资源)
  4. 我应该一起避免更改吗?
  1. 我不知道任何特定的最佳实践,但是最近我开始在当前的Angular 1.5应用程序中使用ng-redux( https://github.com/angular-redux/ng-redux ),到目前为止效果很好。 从Redux获得单向数据流和结构化状态管理的好处,同时仍保持Angular核心,这真是太好了。 这也将使您一次一次迁移一个实体模型。 尽管我自己还没有使用过它,但我看到https://github.com/ngReact/ngReact可用于将React组件包装在Angular指令中。 如果您希望最终完全使用独立的react-redux,那可能是一个很好的垫脚石。
  2. 要将ng-redux集成到现有功能中需要进行一些重构,但是如果您已经在控制器外部维护了数据模型,那还不错。 Ng-redux允许您直接从控制器调用Action Creator函数,该控制器通常将替换UI动作事件处理程序。
  3. 使用ng-redux时,您可以使用redux-thunk与Async Actions轻松进行API调用。 您可以只使用现有的Angular服务向您的API发出请求,然后使用响应来调度标准的Action来更新状态。
  4. 我想说,至少集成ng-redux来标准化应用程序的数据流绝对是值得的。 这将有助于更好地组织项目,并可能根据您的重构方式提高性能。 ngReact的好处对我来说还不太清楚,除非您希望慢慢地转换组件,直到可以完全放弃Angular核心为止。

我已经成功地迁移下的棕地限制我在原来的问题指出了应用。

该解决方案基于两种方法:

  1. 小型组件-几乎包含在内的组件。 例如,通知下拉列表。
  2. 我还无法迁移的整个应用程序部分-基本上仍然是一些用Angular编写的路线/视图。

两种方法都使用与此处建议的方法类似的技术: http : //softeng.oicr.on.ca/chang_wang/2017/04/17/Using-AngularJS-components-directives-in-React/?utm_source=reactnl&utm_medium=电子邮件

提示:如果对Angular依赖项进行了适当的管理,它将更加容易。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM