Гидратация приложения React/Redux из REST API
У меня есть приложение React/Redux для моего внешнего интерфейса и REST API для внутреннего интерфейса, и я использую JWT в качестве своего рода идентификатора сеанса (поставляется из коробки с Laravel Passport, моим сервером oAuth).
В любом случае, мне было интересно, какова лучшая стратегия увлажнения хранилища редуксов, когда страница первоначально загружается, когда у вас есть служба RESTful, у которой есть конечные точки для отдельных ресурсов.
На данный момент я делаю это на компонентном креплении. Так, скажем, компонент перечисляет ресурс, я называю api / hydrate хранилище при монтировании компонента для этого ресурса. Это приводит ко многим вызовам API и может привести к ненужным вызовам, когда компонент снова монтируется.
Есть ли лучшая альтернатива этому, о которой вы знаете? Моя главная проблема заключается в том, что я не хочу вводить некоторые странные конечные точки в мой API специально для гидратации страниц.
1 ответ
Не привязывайте компоненты к конечным точкам API. Используйте их ловушки жизненного цикла, чтобы инициировать начальную выборку данных, но отправляя асинхронные действия. Когда компонент монтируется снова, он может визуализировать свой ресурс из состояния избыточности или запустить некоторую логику, чтобы определить, что он устарел, и отправить другое действие для обновления хранилища.