Javascript 如何在动态创建的子对象上设置道具

Javascript 如何在动态创建的子对象上设置道具,javascript,reactjs,Javascript,Reactjs,在JSX语法中,我可以轻松地设置子道具以跟随父道具的状态,如: class Parent extends React.Component { constructor(props) { super(props); this.state = { attr1: 10 } } render() { return ( <div> <Child prop1

在JSX语法中,我可以轻松地设置子道具以跟随父道具的状态,如:

class Parent extends React.Component {

    constructor(props) {
        super(props);

        this.state = { attr1: 10 } 
    } 
    render() {
        return (
            <div>
                <Child prop1={this.state.attr1} />
            </div>
        )
    }
}
这段代码不起作用,而且我已经读到setProps已被弃用。另一种方法是使用绑定到
this.state.data
的props~创建子级,如果数据结构为obj:

React.createElement(
    childrenListWithClasses[item['childrenClass']], 
        { key: item['id'], data: this.state.data[item['id']] }
    )
但它似乎试图在执行时计算
this.state.data[item['id']]


我找到了一个使用cloneWithProps的建议,但这似乎不正确。。。如果JSX可以改变孩子的道具,为什么我不能用代码呢?另外,如果我想让我的子元素在更改道具时平稳过渡,则子元素的生命周期将被忽略。

可能需要redux,您以前是否尝试过redux,或者您一般不想使用redux?ChildrenListWithClass的目的是什么?你能给我们看一下代码吗?@Lau我试图让它尽可能简单。@Wijebandara,childrenListWithClasses是一个对象/散列/字典,允许人们通过配置引用带有字符串的类/组件。`从“./Example.jsx”const widgets={'Example':Example}导入示例导出默认小部件`可能需要redux,您以前是否尝试过redux,或者您一般不想使用它?ChildrenListWithClass的目的是什么?你能给我们看一下代码吗?@Lau我试图让它尽可能简单。@Wijebandara,childrenListWithClasses是一个对象/散列/字典,允许人们通过配置引用带有字符串的类/组件。`从“./Example.jsx”const widgets={'Example':Example}导入示例导出默认小部件`
React.createElement(
    childrenListWithClasses[item['childrenClass']], 
        { key: item['id'], data: this.state.data[item['id']] }
    )