0

我有一个类,它有一个步骤数组作为状态。

此数组中的对象是一个组件,需要我将状态作为属性传递给它。

constructor(props){
 super(props);

this.state = {
     steps:[
          {
               id: '1',
               component: <ABC mem={this.state.memory} />
          }
     ],

     memory: "Testing"
}

}

它给了我一个错误。

4

1 回答 1

0

是的,它会出错,因为 by{this.state.memory}尚未初始化。

状态在构造函数中第一次被初始化,到那时状态将是未定义的。

不确定您的用例,但如果您想在数组中保留对不同组件的引用并稍后通过传递道具渲染它,您当然可以使用更好的方法,通过使用React.createElement或直接渲染它。

这是工作示例:

https://codepen.io/raviroshan/pen/ZxNeWX?editors=0010

于 2018-04-13T04:55:54.223 回答