如何在React的状态构造函数中声明与其他属性相关的属性?

时间:2019-02-15 16:13:19

标签: reactjs constructor dependencies state

我正在尝试创建一个具有某些属性的类,第二个属性取决于第一个属性的值,但我想对其进行初始化。 因此,我想在此示例中仅包括...以模拟我的组件调用。

constructor(props){
super(props);
this.state={
  Section:sectionsData.filter(function(section){return section.id=="id"}),
  questions : this.state.Section[0].questions.map(...)
}

我收到“无法读取未定义的属性'Section'”

我已经尝试像这样的类成员一样使用section值

this.Section[0] 

但是也没有用。

以及如何使用this.setState()更新这些属性的值

1 个答案:

答案 0 :(得分:1)

this.state尚未设置。使用这个:

constructor(props){
    super(props);
    const sections = sectionsData.filter(function(section){return section.id=="id"});
    this.state={
       Section: sections,
       questions : sections[0].questions.map(...)
    }
}

您可能还想检查部分的长度。