Задать вопрос
Ilnar25
@Ilnar25

Как недопустить рендер, если нет родителя?

Есть задача на исправление бага в коде. Суть приложения бронироваие комнаты в аэропортах и если нет родителя то нельзя забронировать только ребёнка. Задача: необходимо проставить условие в коде для запрета рендера строк с "kid" и "baby" если массив "grown" пуст.

renderPassangers() {
    const hall = this.props.hall;
    if (!hall.grownCount && !hall.babyCount && !hall.kidCount) return null;

    return (
      <div>
        <div>
          <h4 className="pb5">Данные пассажиров</h4>
          <small>Укажите имена пассажиров латинскими буквами, как в авиабилетах</small>
        </div>

        { this.renderMemberGroup('grown', 'Взрослый', !hall.kid.length && !hall.baby.length) }
        { this.renderMemberGroup('kid', 'Ребенок', !hall.baby.length) }
        { this.renderMemberGroup('baby', 'Младенец', false) }

        <hr className="hr"/>
      </div>
    );
  },
  • Вопрос задан
  • 188 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Frontend-разработка на React
    10 недель
    Далее
  • ProductStar
    Разработка на React
    6 недель
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
Решения вопроса 1
Laiff
@Laiff
Front-end developer
Добавить третьим параметром условие типа `hall.grown.length > 0` если я неверно понял этот метод то достаточно будет это условие вынести перед методом рендеринга строки и объединить через тернарник
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
RomReed
@RomReed
JavaScript, Flutter, ReactNative, Redux, Firebase
По моему лучший способ это использовать shouldComponentUpdate
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
от 250 000 до 300 000 ₽
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Екатеринбург
от 50 000 до 90 000 ₽