繁体   English   中英

使用 React Hooks 进行依赖注入

[英]Dependency Injection with 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} />;
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM