У меня есть приложение, использующее mobx-state-tree
, которое в настоящее время имеет несколько простых магазинов:
Article
представляет статью, полученную из стороннего API или написанную собственными силами ArticleStore
содержит ссылки на статьи: { articles: {}, isLoading: bool }
Простой сценарий
Эта настройка хорошо работает для простых случаев использования, таких как выборка статей на основе идентификатора,Например,
- Пользователь переходит к
/article/{articleUri}
articleStoreInstance.fetch([articleUri])
, возвращает искомую статью - Идентификатор выбирается в функции рендеринга и отображается с использованием
articleStoreInstance.articles.get(articleUri)
Сложный сценарий
Для более сложного сценария, если я хочу получить набор статей на основе сложного запроса, например, { offset: 100, limit: 100, freeTextQuery: 'Trump' }
, я должен тогда:
- Иметь глобальный
SearchResult
магазин, который просто ссылается на статьи, которые пользователь искал - Создание единовременного
SearchResult
магазина, который я прохожу до тех пор, покаМне это нужно? - Хранить запросы и общее состояние пользовательского интерфейса вне магазинов вообще?
Я должен добавить, что я хотел бы хранить статьи в магазинах между загрузками страниц, чтобы избежатьповторная загрузка одного и того же контента снова и снова.
Существует ли несколько стандартизированный способ решения этой проблемы?Какие-нибудь примеры, чтобы посмотреть?