关注此Inheritance Inversion Guide后,我不断收到错误:
不能将类作为函数调用。
如果我将class extends MyComponent
更改为React.Component
,那就有效,但这不是我想要的。
我做错了什么?
const MyComponent = () => (
<Child />
);
const wrappedComponent = MyComponent => class extends MyComponent {
render() {
//Doesn't get here
}
};
const WrappedComponent = wrappedComponent(MyComponent);
ReactDOM.render(
<WrappedComponent />,
document.getElementById('app'));
答案 0 :(得分:2)
我一直习惯Props Proxy
不知道这个Inheritance inversion
方法,但现在我知道了,谢谢你
我发现II不会处理无状态组件,因此您必须将功能组件更改为基于类的组件。
为了让一切顺利,请不要忘记在HOC中返回super.render()
。我在这里工作:https://jsfiddle.net/ooade/qaudnzk6/