我是一个新的React者,我正在尝试创建一个连接组件(redux)供公司内部使用,但我不想强制主机应用使用redux。我想避免这样使用我的组件:
<Provider store={store}><MyComponent /></Provider>
我想在使用像高阶组件和上下文,但它只是没有点击。
甚至创建自己的提供程序也是可以接受的,例如:
<MyComponentProvider><MyComponent /></MyComponentProvider>
宿主应用程序是否可以使用Redux组件而不将Redux作为依赖项?
1条答案
按热度按时间nbysray51#
应该是可以的。组件可以有自己的redux存储。把它作为一个完整的黑盒子保存。
这里是一个演示,假设包目录是你的npm包,我们在npm包中安装
redux
,react-redux
包,而不是你的主机或主项目。package/combobox.tsx
:我们可以将它 Package 在一个特殊的组件中,该组件在构造函数中初始化存储:
package/index.tsx
:现在,每个
Combobox
组件示例都有自己的redux存储和状态。消费者端
App.tsx
:请参阅Isolating Redux Sub-Apps
stackblitz