尝试使用返回返回HOC的函数的函数时出错(la Redux Connect)

时间:2017-10-19 19:07:37

标签: javascript reactjs

我试图创建一个类似connect react-redux的高阶组件(HOC),但我遇到了错误。

我的代码可以在这里找到: https://codesandbox.io/s/483or78no0

我从这篇博客文章中获取了这个HOC代码: https://medium.com/@franleplant/react-higher-order-components-in-depth-cf9032ee6c3e(寻找Appendix A: HOC and parameters

我得到的错误是:Warning: Functions are not valid as a React child. This may happen if you return a Component instead of <Component /> from render. Or maybe you meant to call this function rather than return it.并且没有任何内容呈现。

2 个答案:

答案 0 :(得分:7)

您应该在render函数中使用jsx标记:

render(<App/>, document.getElementById('root'));

答案 1 :(得分:3)

这是因为在您呈现App的根目录中,您将App作为函数传递:render(App, document.getElementById('root'));
相反,您需要将其作为一个组件传递(就像错误所说):render(<App/>, document.getElementById('root'));

https://codesandbox.io/s/y077k1qy7j