【问题标题】:Inject or share functionalities with side-effects between React components在 React 组件之间注入或共享具有副作用的功能
【发布时间】:2018-02-19 10:47:50
【问题描述】:

我正在使用Ant Design Library 的表格组件,并为表格的每一列实现了我的海关过滤器组件。现在我也想开始对几个表使用这种方法。问题是我有一组函数可以修改过滤器的状态,同时它们对于所有使用过滤器的表都是通用的。

因此,我不希望每次必须使用过滤器实现表时都必须复制、粘贴并最终复制此逻辑。我希望以某种方式创建一个表并以某种方式(使用良好实践)能够为这个新组件注入这些功能。

我首先尝试使用高阶组件 (HOC),但我在反应文档中读到:A HOC is a pure function with zero side-effects。另一个选项可以使用继承,但我不知道是否会是最好的方法。

谁能告诉我在组件之间注入和重用具有副作用的常见功能的最佳方法是什么?

【问题讨论】:

    标签: reactjs code-reuse antd


    【解决方案1】:

    为您的目的创建 HOC 并没有错。 HOC 将 React 类作为参数,并生成一个“增强的”或更丰富的组件类,然后您可以实例化它。这里的所有都是它的。您的 HOC 可以采用 ADL Table 组件并创建一个相同组件的类以及您的自定义过滤器。请记住:您的 HOC 创建一个 class,而不是该类的 component 实例。

    如果你走这条路,我建议你看看https://github.com/acdlite/recompose

    【讨论】:

      猜你喜欢
      • 2022-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-08
      • 2019-01-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多