выводом состояния?
Проблему можно обьяснить на примере трех сущностей: User, Post, Comments
Я контролирую апи, так что могу его менять как хочу.
Где то мне нужно получать разные проекции серверного состояния:
- пользователей с постами и комментариями,
- посты с пользователями
...
Я могу это делать:
- на сервере (разные эндпоинты с разными респонсами)
- на клиенте: useMemить результаты нескольких запросов (уродливо, и ненадежно т.к react-query очень плохо композиться)
- на клиенте: создав какой то стор из которого селекторами делать проекции.
вообще ничего не понятно из того что ты написал
2. React-query же сам кэширует ответы, разве нет? useMemo бесполезен, тем более он предназначен для компонентов, а не чистых данных. 3. Кюэрька позволяет прокидывать результат через контекст, стор тоже (если сложных данных нет), не нужен И, если результат кэшуецца, зачем делать кастрированные запросы пересечений, создавая больше потенциальных обращений? Лучше запросить автора и коммент, самостоятельно раскидая что куда, вместо совмещённого запроса, а чуть позже ещё двух
О чем вопрос? Что такое проекции?
/api/users/:id/posts - посты по пользователю /api/posts/:id/comments - комментарии по посту
Почему на беке не организовать фильтрацию и сортировки, добавить ручку и получать данные с апишки для визуализации на фронте? В любом случае тут речь больше о беке и нужно для начала там с реализацией этой фичи разобраться
Тут речь не о фильтрации\сортировке а о том как получать нужное состояние для компонентов. т.к где то нужны просто пользователи, где то пользователи с постами, или посты с пользователями. На английском этот топик называется derived state.
Создавать юзквери для каждого запроса и собирать уже в юае Реакт квери не предполагает, что ты будешь свои какие то сторы собирать из разных кверей
Ты хочешь хранить данные в нормализованном виде. Реакт квери в такое не умеет, да и ни один рест клиент собственно тоже Либо делать это вручную, либо перекатываться на графкл и юзать аполло
Обсуждают сегодня