Unexpected token if

174
05 ноября 2018, 03:10

Вчера начала учить react. Столкнулась с ошибкой, но не понимаю её, посмотрела документацию - if как if, вроде, всё корректно.

babel.min.js Uncaught SyntaxError: Inline Babel script: Unexpected token if

Код

render() {
    return (
      if(this.state.signIn){
        return this.rendSignIn ();
      }
      else{
        return this.rendSignUp ();
      }
    );
  };

Объясните, пожалуйста, из-за чего возникает ошибка и как её исправить.

Answer 1
  1. Нельзя делать return ... return в любом случае
  2. В return нельзя использовать условный оператор if, только тернарный ?
Answer 2

Конструкция return {} возвращает литерал объёкта, и по этой причине ошибка Unexpected token if, так как в литералах объектов конструкции if ... else недопустимы :)

Корректная конструкция в вашем случае была бы:

render() {
    if(this.state.signIn){
        return this.rendSignIn ();
    } else {
        return this.rendSignUp ();
    }
};
READ ALSO
В chosen select вызвать событие обрабатывающее нажатие на том же элементе

В chosen select вызвать событие обрабатывающее нажатие на том же элементе

В chosen select при изменении, вызываю change() - все работает, но как быть с уже выбранным элементом? Лазить по DOM искать нажатие в созданых chosen li уверен...

155
Как картинки в фотокарусели уравнять по высоте и зумировать поверх соседних блоков?

Как картинки в фотокарусели уравнять по высоте и зумировать поверх соседних блоков?

Есть owl карусель с картинками, которые могут слегка различаться размерами

201
Как в обработчике события у chrome появляется event?

Как в обработчике события у chrome появляется event?

Заметил, что если в браузере chrome выполнить вот такой код:

157
Скрипт счетчика работает криво

Скрипт счетчика работает криво

Собственно сам скриптРаботает, нареканий сначала не возникало, но когда счетчик доходит до 0, он соответственно уходит в -

198