Как объявить свойство с зависимостью от другого свойства в конструкторе состояний React? - PullRequest
0 голосов
/ 15 февраля 2019

Я пытаюсь создать класс с некоторыми свойствами, второе зависит от значения первого, но я хочу их инициализировать.Так что это хочу, я пытаюсь, я просто включаю ... в этом примере, чтобы имитировать вызов компонента.

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

Я получаю "Не удается прочитать свойство 'Раздел' неопределенного"

Я уже пытался использовать значение раздела просто как член класса, как этот

this.Section[0] 

Но также не сработало.

И как я могу обновить значение этихсвойства, использующие this.setState ()

1 Ответ

0 голосов
/ 15 февраля 2019

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(...)
    }
}

Возможно, вы также захотите проверить длину секций.

...