reactjs - 使用 React Hooks 进行依赖注入
问题描述
我发现依赖注入的最大好处是能够在组合根的一行中替换整个应用程序中服务的实现。
有没有办法使用 React 钩子来做到这一点?
似乎当使用钩子时,例如 useHook(),你紧紧地绑定到一个特定的实现,并且它是一个手动过程来查找和切换所有实现,而 useHooks() 出现在任意点则更加复杂组件。
我当前的解决方案是使用 React Context 使组合根可根据需要对所有内容可用,这似乎运行良好,但是由于许多吹捧 Hooks 作为 DI 框架,我想知道我是否错过了一些东西。
解决方案
您可以使用容器模式。创建一个容器,负责使用钩子并将结果传递给组件。
const Component = (props) => {
return <div>{ props.data }</div>;
};
const Container = (props) => {
const data = useHook();
return <Component data={data} />;
};
推荐阅读
- python - python中的多节点图到单节点图
- css - 悬停时图像绝对然后返回相对
- r - 如何使用 1 个预测器计算 data_test 的预测
- react-native - 是否可以使用 react-navigation 和 nativebase 在 react-native 上定义全局(页眉 + 页脚)包装器
- reactjs - 每次状态改变时的整个地图渲染
- hyperledger-fabric - Hyperledger Fabric 中按组织划分的许可分类帐记录
- c# - 如何在 Unity3D 中绘制地面上的一组点?
- r - 为 get_historical 函数应用循环(来自 Bomrang)
- c# - 是否可以让 Visual Studio 2017 在其他包中查找名称匹配项?
- react-native - 为什么我似乎无法使用 navigationOptions 更新状态栏背景/色调颜色