Лучшая стратегия для обработки многих и вложенных состояний загрузки с Redux Saga - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть несколько сложное веб-приложение React / Redux, которое имеет много представлений одновременно (и динамически), обращающихся к одному и тому же типу / другим идентификаторам данных из API веб-службы / REST, например, одно из них обрабатывает /my-resource/1, другое можетhandle /my-resource/2, а третий - общий, менее подробный список из /my-resource.Объекты из /my-resource/: id немного сложны с некоторыми подсписками (каждый с дополнительными данными на основе идентификаторов, которые могут быть обновлены / добавлены) и другими данными.

Каков наилучший подход к работе с loading состояние для запросов, таких как:

  • POST /my-resource/:id/nested-resource/:id
  • PUT /my-resource/:id/another-nested-resource/:id
  • PATCH /my-resource/:id

Смотри, что я мог бынеобходимо обновить данные из объекта в целом (например, описательный статус) или добавить / обновить / удалить некоторые данные из подсписка.Я хотел бы , чтобы показать отдельные индикаторы загрузки, не блокируя все это, но я открыт для простоты (или, возможно, даже использую альтернативу Saga).

Мой текущийследующие идеи:

  • Передача обратного вызова / обещания, которое будет вызывать / разрешать каждая сага;
  • Оставить все loading состояния в хранилище;
  • Обнаружение измененийиз реквизита через getDerivedStateFromProps

Есть еще идеи?Или я должен просто сохранить это и использовать общее состояние loading?

...