使用connect& amp;时如何访问静态方法HOC?

时间:2017-10-19 07:05:49

标签: reactjs redux react-redux

为了能够获取服务器端呈现的数据,设置静态方法fetchData recommended将通过异步操作填充Redux存储。

使用connect时,组件已被包装,只能通过WrappedComponent访问。但是无法访问静态方法。使用其他HoC时,问题会进一步加剧,例如reducerInjector。推荐的方法是什么?

1 个答案:

答案 0 :(得分:3)

在react-redux文档中,您会看到connect使用hoistNonReactStatics(如果查看源代码,您可以在 connectAdvanced 中找到它,然后通过连接)。

因此,如果您使用的是connect,您仍然可以访问自己的静态方法。但是,如果您使用其他 HoCs ,则不会复制静态方法

另一个选择是使静态方法成为函数

export default myFunction = () => { /* do stuff */ }

并将其导入您需要使用它的位置。