我认为它被称为高阶函数,但我不确定。
我想要完成的是与redux类似的东西,以便更好地理解它是如何工作的,并寻找将其他道具传递到组件的好方法。
继承我的代码.. https://jsfiddle.net/ncc8nprc/2/
我在构造函数中拥有了我想要的所有道具,但在类的其余部分却没有,例如渲染方法。
我收到一条错误消息make sure to pass up the same props that your component's constructor was passed
。所以我明白这是错误的做法。 :P
但我怎么能做到这一点?
谢谢!
答案 0 :(得分:1)
您需要从高阶组件返回有效的React组件,这意味着使用jsx语法和大写首字母:
function stateConnector(mapStateToProps) {
return function(Component) {
return class Wrap extends Component {
render() {
const combinedProps = { ...this.props, ...AppState};
return <Component {...combinedProps}/>;
}
}
};
}