Как лучше делать сортировку товаров в React-приложении?
Есть список из 30+ объектов, записанных в JSON-формате. Проект тестовый, поэтому использую JSON-server, объекты выглядят так:
{
"cards": [
{
"img": "./img/img-1.png",
"title": "THE IX",
"info": "Lorem ipsum dolor sit amet, consectetur adipiscing elit",
"price": 15000,
"made": "Germany",
"id": 1
},
{
"img": "./img/img-2.png",
"title": "THE I7",
"info": "Lorem ipsum dolor sit amet, consectetur adipiscing elit",
"price": 19000,
"made": "USA",
"id": 2
}
]
}
Нужно сделать сортировку товаров по price/made, как лучше её сделать - через бек(json-server) или через front(сортировать уже на месте)? Если через бек - то нужно просто делать запрос "htp://localhost:3000/cards?_sort=price&_order=desc" - и такой запрос будет сортировать все объекты по price, по убыванию
Выглядит довольно просто, но я прочитал что маленькие объёмы данных лучше сортировать на фронте, это так?
Через бек. Если есть возможность не писать логику на фронте, а оставить беку, то так и нужно делать. Фронт нужен исключительно для отрисовки и некоторого взаимодействия с интерфейсом.
В реальной жизни будет скорее всего сортировка на бэке, т.к. будет с пагинацией, такое на фронте не отсортируешь, не получив сразу все данные
Оба варианта возможны, всё зависит от ситуации. Маленькие объемы можно сортировать где угодно, но нагрузка на сервер самую малость вырастет. Если ты удалённую функцию используешь многократно и сортировать тебе нужно по разным полям, можно передавать поле для сортировки. Если это всегда одно и то же поле по-умолчанию, тогда можно сортировать без каких-либо параметров. Можно и на фронтенде сортировать обычным методом sort для массивов.