1

我有以下有效的代码:

    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缺少构造函数或成员函数。

围绕现有组件包装新组件似乎不必要的开销,并且可能需要我复制代码,因此我正在寻找一个更清洁的选项。

4

0 回答 0