反应克隆/创建元素

时间:2018-05-11 22:18:02

标签: javascript reactjs

当我可以在这样的配置中传递组件时,我有一个库(antUI):

const configuration = [{
  render: record => <Component record={record} />
}]

我想使用.map函数修改该配置:

const additionalProps = { someProp: 'value' };
configuration.map(el => ({
    render: el.render, // React.cloneElement? React.createElement?
}));

所以我可以将额外的道具传递给Component。有没有办法做到这一点?我一直在尝试使用React.cloneElementReact.createElement,但除了错误之外什么都没有。

2 个答案:

答案 0 :(得分:0)

天哪,我在代码末尾不必要地添加了()

应该看起来像:

const additionalProps = { someProp: 'value' };
configuration.map((el) => {
    const copy = { ...el };
    return {
        ...el,
        render: record => React.cloneElement(copy.render(record), additionalProps),
    };
});

答案 1 :(得分:0)

你能不能把它们传递给组件?

const additionalProps = { someProp: 'value' };
const configuration = [{
    render: record => <Component record={record} {...additionalProps} />
}]
相关问题