@yuriytkachenko

Что в react пишут в скобках {} в функции render?

Документация обьясняет для чего пишут код в функции render между { } довольно поверхностно. Там пишет что в фигурных скобках записывают код { } чтобы JSX понял что это JavaScript. Или пишут что в скобках можно записать JS выражение. Но выражения в моем понимании это что-то на подобии такого: a= b+c или a=b.
А я часто вижу что в фигурных скобках пишут просто одно слово и все. Вот примеры:
render() {
 
    return (
     <WeatherDisplay
          key={activePlace}                      // ВОТ ЗДЕСЬ
          zip={PLACES[activePlace].zip}  //ИЛИ ЗДЕСЬ 
        />
      </div>
    );
}


render() {
    const { isActive } = this.state;              // И ЕЩЕ

    return (
      <div>
        <button onClick={handleClick}>Try it</button>    // И ВОТ
        <div className={isActive ? 'mystyle' : ''}>    
          This is a DIV element.
        </div>
      </div>
    );
  }
}


Так что пишут между фигурными скобками?
Какие у вас варианты что туда пишут?
Это значения результата вычислений в функции?
Это ссылки на объекты?
Это ссылки на переменние над которыми ми провели манипуляции и теперь присвоили какому-то елементу новое значение?
  • Вопрос задан
  • 1095 просмотров
Решения вопроса 2
@i1yas
в моем понимании это что-то на подобии такого: a= b+c или a=b.

Выражение - это любая конструкция, которая вычисляется в значение. Одна переменная написанная просто так - это тоже выражение:
const a = 1;
a; // это выражение

Собственно, по умолчанию, пропсы реакта принимают строки, если нужно передать что-то другое, то нужно использовать фигурные скобки, даже если это число.
Ответ написан
erge
@erge
Примус починяю
Это jsx код который перед выполнением компилируется в JavaScript
См. JSX — подробности
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
0xD34F
@0xD34F Куратор тега React
Но выражения в моем понимании это...

Понятно.

Забудьте про react на ближайшие полгода и марш изучать js.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы