Оценить простое задание на react?

Здравствуйте.
Недавно взялся за изучение react. Случайно наткнулся на тестовое задания от одной известной компании. Решил попробовать реализовать, не для собеседования, а просто для себя, чтобы попытаться понять работу библиотеки. И вот что получилось.
Прошу покритиковать, кому не сложно. Уровень владения ниже плинтуса. По сути это первое приложение, если не считать элементарных крестиков-ноликов и тудушки.
Специально не стал разбивать на кучу мелких компонентов, сервисов, утилит, что бы удобно было делать код ревью. В некоторых местах хромает логика сортировок, это я не допилил.

Код
Deploy
  • Вопрос задан
  • 595 просмотров
Решения вопроса 1
@dimoff66
Кратко о себе: Я есть
Filters также можно реорганизовать элегантней. Во-первых вывести все фильтры в цикле, чтобы не плодить кода

const allFilters = [
  { id: 'all', title: 'Все' },
  { id: 'noStop', title: 'Без пересадок' },
  { id: 'oneStop', title: '1 пересадка' },
  // и т.д.
]

return <div className="filters">
  <h3 className="filters__title"> Количество пересадок </h3>
  {allFilters.map(({id, title}) => (
    <div className="filters__item" key={id}>
      <input type="checkbox" id={id} hidden
             defaultChecked={props.sortStops[id]}
      />
      <label htmlFor={id} onClick={() => props.onClick(id)}>
        {title}
      </label>
    </div>)
  )}
</div>


Во вторых обратите внимание вместо
onClick={props.onClick}

можно сразу передать id в функцию-обработчик, а не выковыривать ее через e.target
onClick={() => props.onClick(id)}

И обработчик нажатия тогда будет выглядеть
const onClickStops = chosenOption => {
  // обработчик нажатия на фильтры выбора количества остановок
  setSortStops({
    ...sortStops,
    chosenOption: !sortStops[chosenOption]
  })
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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