2016-05-31 93 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,而不是相反。還沒有完成這個項目,所以我不能寫出我的看法 - 但我打算儘快分享。 –

相關問題