当前位置: 首页 > 知识库问答 >
问题:

返回使用另一个HOC的组件的HOC

游勇军
2023-03-14

我有一个HOC“with Firebase”,它基本上为我的组件提供了一个与Firebase服务通信的接口。

现在,我正在实现另一个HOC"with NotificationsListener",它将接收一个组件和一个路径,然后返回另一个使用"with Firebase"HOC的组件。

这是我第一次创建一个HOC,它返回一个也使用另一个HOC的组件...我的问题基本上是,如果这是可能的与此代码:

const withNotificationsListener = (WrappedComponent, notificationsDBPath) =>
  withFirebase((props) => {
    const listenNotifications = () => {};

    useEffect(() => {
      // TODO - Attach db listener subscription
      return () => {
        // TODO - Detach db listener subscription
      };
    }, []);

    return <WrappedComponent {...props} />;
  });

按照HOC定义“接收组件并返回另一个组件的函数”,这对我来说是有意义的,因为withFirebase最终会返回一个组件。。。但我很怀疑,因为严格地说,从词汇上讲,我不是直接返回一个组件,而是返回一个函数。

这种创建此HOC的方法有效吗?还是其他方式?

共有1个答案

梁丘逸仙
2023-03-14

看起来几乎是正确的,因为你的道具不能是大写的,你需要先分解它们。当您通过prop传递组件时,例如Component={WrappedComponent}

而在WithNotificationListener组件中,您可以对其进行分解。e、 g.const with notificationsListener=({component:WrappedComponent,notificationsDBPath})=

这应该行得通。附加的链接更深入地解释了为什么需要分解道具。解构示例

 类似资料:
  • 本文向大家介绍使用高阶组件(HOC)实现一个loading组件相关面试题,主要包含被问及使用高阶组件(HOC)实现一个loading组件时的应答技巧和注意事项,需要的朋友参考一下

  • 问题内容: 我在我的第一个React Native项目中。我想创建一个仅处理来自api数据同步的HOC。然后,这将包装所有其他组件。 如果我是正确的,我的组件将通过在export语句中执行以下操作来增强所有其他组件: 我苦苦挣扎的概念还取决于React Redux Connect方法来检索其他redux状态。我的问题是如何同时使用两者?像这样吗 我可能在这里完全误解了这个概念,所以我非常感谢一些提

  • 我是一名 Java 初学者,我一直在尝试编写一种方法来列出数组中某个 int 的所有索引。到目前为止,我所做的是将该 int 的值存储在另一个数组中的相应索引处,但我能做的最好的事情就是将所有其他不等于原始 int 的索引的值设置为 -1。 我想我需要在数组中存储值I,并删除所有的-1,但是我不知道怎么做。顺便说一下,这些值是-1,因为这个程序中所有的数组都包含0-100之间的整数。如果数组中的整

  • 在这里,我只想确保抛出异常测试,但希望跳过调用方法在其中。我试着跟着走,但没有奏效

  • 我有一个JSON文件,我正在尝试解析,如下所示 但我没有得到任何数据。任何人都知道问题出在哪里? 我收到以下错误: 错误域=NSCocoaErrorDomain Code=3840“操作无法完成。(可可错误3840。)”(字符278周围的转义序列无效。)UserInfo = 0xa 47 ff 60 { NSDebugDescription =字符278周围的转义序列无效。}

  • 问题内容: 我有两个组成部分。我想从第二个组件中调用第一个组件的方法。我该怎么做? 这是我的代码。 第一部分 第二部分 问题答案: 你可以做这样的事情 使用静态