Государственное управление в приложении Ember - PullRequest
0 голосов
/ 15 января 2020

Я пытаюсь сравнить решение для управления состоянием, которое присутствует в ReactJS (с использованием Redux или Context API / Hooks), и пытаюсь определить что-то похожее в приложении Ember.

Может ли сервис Ember ( будучи одноэлементным) будет называться решением управления состоянием в приложении Ember ИЛИ есть ли что-то еще, что можно использовать для управления состоянием в приложении Ember?

1 Ответ

2 голосов
/ 15 января 2020

Существует несколько способов, которыми приложения Ember обычно управляют состоянием в зависимости от контекста.

1) URL: все состояния в приложении Ember начинаются с URL, который также может включать параметры запроса. Доступ к URL обычно осуществляется через маршрут, и эти данные преобразуются во что-то полезное для приложения и передаются в компоненты.

2) Хранилище Ember Data: для вещей, которые сохраняются в хранилище (база данных и т.д. API, например) модель Ember Data и сопутствующее хранилище обеспечивают доступ к этому состоянию во всем приложении. Хранилище - это служба, к которой можно получить доступ из любого места приложения, и она предоставляет один и тот же экземпляр модели везде, где она запрашивается. Это означает, что если вы изменяете имя пользователя в одном месте, это отражается везде, где используется пользовательская модель.

3) Сервисы: более эфемерное состояние, что первые два могут храниться в сервисах, которые введен и доступен из любого места в приложении. Нет никаких правил для того, что может быть размещено в сервисе, в нашем приложении у нас есть все - от позиции прокрутки указанного c компонента до разрешения текущего пользователя.

...