2016-05-31 75 views
6

我正在考虑将react-redux集成到3年前的Angularjs代码库中。我不希望一次重构所有代码库,而是通过我的团队将开发的新功能逐步引入react-redux。将react-redux集成到现有的Angularjs应用程序中

  1. 有没有最佳做法呢? (任何资源将不胜感激)
  2. 旧的功能(用ng编写)是否可以包含react-redux部分,否则我将不得不重写它?
  3. 如何避免执行相同的API调用? (如果两者都需要相同的资源)
  4. 我应该一起避免所有更改吗?
+0

嗨亚历克斯。我想知道我们的团队正在尝试解决类似的问题时采取了什么样的决定(希望是为什么)。 – Manu

+0

我们决定推迟几个月的整合。买了我的自己一些时间:) –

+0

嘿亚历克斯,你有没有想过将数据层转换为普通的redux,而不是react-redux?如果你从REDX开始,你将能够抽象出* *数据层,这可能比转换数据_和_ UI组件更容易......这可能会帮助你保留组件。 –

回答

0

我已经成功迁移的棕地局限性,所以我在原来的提问时指出下的应用程序。

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

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

两个走近使用类似的技术,这表明这里的一个: http://softeng.oicr.on.ca/chang_wang/2017/04/17/Using-AngularJS-components-directives-in-React/?utm_source=reactnl&utm_medium=email

提示:它更容易,如果你的角度依赖性得到妥善管理。

2
  1. 我不知道任何特定的最佳实践,但是我最近在我的当前角度1.5的应用程序有很大的影响采用NG-终极版(https://github.com/angular-redux/ng-redux)到目前为止开始。从Redux获得单向数据流和结构化状态管理的好处,同时仍然保持Angular核心,真的很不错。这也可以让你逐渐迁移,一次一个实体模型。虽然我自己没有用过,但我看到https://github.com/ngReact/ngReact可用于在Angular指令中包装React组件。如果您希望最终充分利用react-redux standalone,那可能是一个很好的垫脚石。
  2. 将ng-redux集成到现有功能中需要进行一些重构,但是如果您已经在控制器之外维护了数据的模型,那就不算太坏。 Ng-redux可让您直接从您的控制器调用Action Creator函数,该函数通常会取代UI动作事件处理程序。
  3. 使用ng-redux时,您可以使用带有redux-thunk的异步操作轻松进行API调用。您可以使用现有的Angular服务来请求您的API,然后使用响应来分派标准的Action来更新状态。
  4. 我想说,它至少应该集成ng-redux来标准化你的应用程序的数据流。这将有助于更好地组织项目,并可能会根据重构的方式提高性能。 ngReact的好处对我来说并不那么清楚,除非您想要慢慢转换组件,直到完全抛弃Angular内核为止。
+0

谢谢!这可能是一个好主意,但这是一个太慢的迁移,至少对我而言。我开始实施一个更积极的解决方案,在这个解决方案中,react-redux完全控制了Angular,而不是相反。还没有完成这个项目,所以我不能写出我的看法 - 但我打算尽快分享。 –

相关问题