我计划有一个基本的应用程序,其中大多数组件应该是可替换的,在以后的时间,取决于特定的客户需求,而不触及基本的应用程序代码。在反应生态系统中实现这一目标的最佳机制是什么?是否有可以更新的注册表,或者类似于GWT 构造的组件的任何其他延迟绑定?谢谢。
更新1:我的理解是依赖注入将允许注入到静态组件中。我要问的更多的问题是,是否可以通过组件注册表项来实现不同类型的注册表并编写应用程序,从而使以后的更新能够指定将解析该键的组件。relation似乎期望那里有一个静态的关系,如果可能的话,我希望它是动态的。
发布于 2016-10-06 19:07:06
不,没有中央注册表,但是创建一个也不会太困难。类似于(不好意思把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)唯一的诀窍是确保覆盖模块在呈现模块之前加载。
https://stackoverflow.com/questions/39514818
复制相似问题