Рассмотрим следующую схему, вдохновленную Reddit
Я разрабатываю графический интерфейс администратора для управления пользователями, сообщениями и комментариями (подделка фактического домена здесь),Приложение React имеет различные маршруты (вкладки навигации):
- Пользователи для отображения пользователей с их сообщениями и комментариями
- Сообщения для отображения сообщенийс их комментариями (оба с учётом пользователя)
Оба маршрута также позволяют редактировать перечисленные объекты.
Я определил следующие конечные точки REST
/users
/users/{id}/posts
/users/{id}/
/posts
/posts/{id}/comments
Какя должен сформировать состояние Redux в этом случае?Должен ли я
A) Просто хранить разные типы сущностей в их собственном поддереве, сгруппированном по id?В этом случае извлечение всех сообщений или извлечение сообщений для пользователей фактически будет работать на одном поддереве.Компонент React отфильтровывает это поддерево, чтобы получать его реквизиты, когда он подходит.
B) Сформировать дерево более детально для использования с маршрутами?Например, групповые сообщения направляют сообщения по идентификатору, а пользователи отправляют сообщения по идентификатору пользователя?Это решение приведет к некоторому избыточному дублированию, пока не будут приложены дополнительные усилия для нормализации ситуации.