@vadimparinov

Как реализовать сортировку на React js?

Добрый день!Нужно реализовать сортировку товаров как в макете(по разным параметрам)Пока не совсем понимаю как это сделать. Можете подсказать направление куда копать ?621cd6c07258e059440533.png
  • Вопрос задан
  • 1680 просмотров
Решения вопроса 1
@wifftees
Реализуй массив товаров, каждый из которых будет являться объектом, для каждого пропиши к каким критериям он соответствует. Например вот так:
{
  profession: false,
  videoCourse: false,
  any: true,
}

Дальше при рендеринге компонента просто запускай фильтрацию по всем товарам(главное вынеси всю логику в отдельный хук)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
marquis_de_eL1fe
@marquis_de_eL1fe
Как уже писал wifftees можно реализовать каждый товар как объект с критериями. Тогда при выборе определенной сортировки в фильтрах необходимо будет всего лишь искать товары с подходящими под фильтр критериями. Например у вас в фильтре выбрано "Видеокурс", следовательно вам нужны товары только с условным
{
...
category: 'video_course',
...
}

внутри объекта.
Пишем функцию сортировки которая принимает на вход весь ваш массив объектов, с помощью например Array.filter() фильтруют по наличию у объекта нужной категории категории, в нашем случае это 'video_course', и отдают обратно готовый отфильтрованный массив.

UPD. Если конкретно про Реакт говорить то просто храним данные которые будем показывать в стейте созданном с помощью useState() и при выборе фильтра просто обновляем наш стейт, в результате чего отображаемые объекты тоже меняются.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы