反应this.props.children与createReactClass

时间:2017-08-31 11:10:23

标签: reactjs children golden-layout

我有以下代码可以使用:

    let registered = [];
    React.Children.forEach(this.props.children, (child) => {
        let name = child.type.name;
        if (registered.indexOf(name) === -1) {
            gLayout.registerComponent(name, createReactClass({
                render: () => (child)
            }));
            registered.push(name);
        }
    });

但是,我的问题是,如果我可以直接提供孩子而不将其包装到新的反应类中。

我尝试使用渲染函数替换createReactComponent,只使用child.typeReact.cloneElement(child, {}),但它们都不起作用,因为registerComponent函数(黄金布局框架)将会抱怨构造函数或componentWillUpdate成员函数缺失。

围绕现有组件包装新组件似乎是不必要的开销,可能需要我复制代码,所以我正在寻找更清晰的选项。

0 个答案:

没有答案