如何通过更高阶函数将其他道具传递给反应组件

时间:2017-01-20 12:24:44

标签: reactjs

我认为它被称为高阶函数,但我不确定。

我想要完成的是与redux类似的东西,以便更好地理解它是如何工作的,并寻找将其他道具传递到组件的好方法。

继承我的代码.. https://jsfiddle.net/ncc8nprc/2/

我在构造函数中拥有了我想要的所有道具,但在类的其余部分却没有,例如渲染方法。

我收到一条错误消息make sure to pass up the same props that your component's constructor was passed。所以我明白这是错误的做法。 :P

但我怎么能做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:1)

您需要从高阶组件返回有效的React组件,这意味着使用jsx语法和大写首字母:

    function stateConnector(mapStateToProps) {
        return function(Component) {

            return class Wrap extends Component {
                render() {
                    const combinedProps = { ...this.props, ...AppState};
                    return <Component {...combinedProps}/>;

                }
            }
        };
    }

这是the working jsfiddle