Задать вопрос
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>
    );
  },
  • Вопрос задан
  • 187 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
Laiff
@Laiff
Front-end developer
Добавить третьим параметром условие типа `hall.grown.length > 0` если я неверно понял этот метод то достаточно будет это условие вынести перед методом рендеринга строки и объединить через тернарник
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
RomReed
@RomReed
JavaScript, Flutter, ReactNative, Redux, Firebase
По моему лучший способ это использовать shouldComponentUpdate
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽