我想知道如何构建由React / Redux提供支持的Web组件的应用程序。此示例https://github.com/facebook/react/blob/master/examples/webcomponents/index.html显示了如何将Web组件绑定到React组件。但这并不是我所需要的。我打算声明像x-dataview,x-sidebar,x-panel,x-modal这样的“砖块”集合,它们具有特定的行为,具体取决于通过属性提供的配置。除了暴露公共API。
我想用React让他们活跃起来。因此,在进行此类收集时,可以使用静态HTML构建和配置应用程序。因此,消费者在处理HTML和暴露的API时根本不需要处理React源。
当然我可以在这样的自定义元素上安装React,但它意味着每个Web组件都有一个单独的Redux存储,这违反了Redux的第一个原则:
“整个应用程序的状态存储在对象树中 在一家商店内。“
因此,有可能在没有违背React和Redux哲学的情况下实现上述目标吗?
答案 0 :(得分:1)
如果这些组件彼此完全独立,您可以为每个组件创建一个单独的Redux存储。
通过这种方式,您可以添加/删除所需的任何组件,并且您在报价中提到的原则仍然适用 - 您只是将每个组件视为一个单独的应用程序。
如果您希望组件相互通信,则必须在它们之间共享存储。