在React组件之间注入或共享具有副作用的功能

时间:2018-02-19 10:47:50

标签: reactjs code-reuse antd

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

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

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

有人可以告诉我注入和重用组件之间副作用的常用功能的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

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

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