Есть данные, которые я получаю с сервера в зависимости от урла. Отличие этих данные лишь в их дате создание. т.е при клике по кнопке - получаю данные вчерашние, по второй кнопке - сегодняшние , по третьей - будущие. Сортирую данные по дате на бэке. т.е для каждого урла свой контроллер получается. Проблема в том , что при клике по кнопке "сегодняшние" - мне нужно выводить данные за сегодня (разделяя их тайтлом) и за вчера, соответсвено при клике на "вчерашние" , за вчера и за сегодня. Вопрос, как это сделать? 1.Получать данные по урлу например /today , таким образом: два массива данных отсортированных(сегодняшние и вчерашние), сетать их в стор и отрисовывать.2.Получать их все махом(сегодня,вчера,будущие), сортировать на фронте и при переключени по разным урлам просто брать данные из стора? без запросов к бэку. Как быть?
По мне лучше по отдельности делать запросы на сегодня и вчера. В этом ведь и суть React, что каждый компонент должен вызывать только те запросы данные которых ей нужны.
Зачем делать запрос на всё, если человек возможно даже не станет нажимать на эти кнопки вообще, итого у тебя просто лишний запрос и лишние данные.
Используйте для этого flux методологию, самая распространненная реализация в реакте это Redux или можете сделать это спомощью хуков useContext, useReducer.
Как это работает: у вас есть общее хранилище куда вы при запросах складываете сегодняшние, завтрашние данные.
То что вы написали - это само сабой разумеется. Но мне же все равно при каждом клике по кнопке нужно делать запрос на сервер и полчать те или иные данные, я больше имел в виду, не выгоднее ли их сразу получить(все данные, за вчера, сегодня и будущие) , отсортировать , запихнуть в стор и от туда использовать?!
Vann Damm, У вас есть сервер вы хотите производить сортировку на фронте? Зачем? Вы только добавите ненужной логики на фронт. Все подобные действия должны производится на сервере.