2016-09-15 246 views
1

我計劃擁有一個基本應用程序,其中大部分組件應該在以後可以替換,具體取決於特定的客戶需求,而無需接觸基本應用程序代碼。在React生態系統中實現此目標的最佳機制是什麼?是否有可以更新的註冊表,或者與GWT replace-with構造類似的任何其他延遲綁定組件?謝謝。如何替換React組件

更新1: 我的理解是,依賴注入將允許注入靜態組件。我所問的問題更多地是關於是否可以實現各種註冊表並通過組件註冊表鍵來組合應用程序,從而使得以後的更新能夠指定該鍵將被解析到哪個組件。 React似乎期望有一個靜態關係,如果可能的話,我希望它是動態的。

+1

[React依賴注入或類似?]的可能重複(http://stackoverflow.com/questions/30311081/react-dependency-injection-or-similar) –

回答

0

不,沒有中央註冊表,但創建一個並不困難。喜歡的東西(約混合JS語法對不起)

// Registry module 
var Component1 = require('component1') 
var components = { Component1 } 
var replace = function(name, cfn) { components[name] = cfn } 

// Render module 
var registry = require('registry') 
var Component1 = registry.components['Component1'] 
render...Component1 

// Override module 
var registry = require('registry') 
var Component1override = require('component1override') 
registry.replace('Component1', Component1override) 

唯一的技巧就是使某些超馳模塊被渲染模塊之前加載。