Использование match () для регулярных выражений при реакции приложения на получение ошибки - PullRequest
0 голосов
/ 18 марта 2020
componentDidMount(){
  axios.get('/sites/multiscreen/templates').then(res => {
    if(res.data.template_id.match(/^[a-z0-9]+$/i)){
      this.setState({
        templates: res.data,
      });
    }
  })
}

Я получаю следующую ошибку:

Необработанный отказ (TypeError): невозможно прочитать свойство 'match' из неопределенного

Любая помощь оценили!

1 Ответ

1 голос
/ 18 марта 2020

Вы должны убедиться в res.data, что оно имеет значение, перед вызовом match. Я предлагаю вам использовать это:

componentDidMount(){
  axios.get('/sites/multiscreen/templates').then(res => {
    if(!!res && 
       !!res.data &&
       !!res.data.template_id &&
       /^[a-z0-9]+$/i.test(res.data.template_id)) 
    {
      this.setState({templates: res.data});
    }
  })
}
...