Как сделать React Service подключенным как Singleton, Injectable и Redux - PullRequest
0 голосов
/ 12 мая 2019

Сводка

Я пишу React-Redux приложение и хотел бы создать службу , к которой можно обращаться через несколько компонентов со следующими характеристиками:

  1. Singleton (создается один раз во всем приложении)
  2. Injectable (может быть введен и использован,несколько компонентов в приложении)
  3. Redux Connected (может получить доступ ко всему дереву состояний Redux и получать обновления для изменений состояния)

Пример кода

Тип решения, который я имею в виду, позволит мне внедрить сервис в компонент React и использовать его следующим образом:

{ featureAvailabilityService.isAvailable('myFeature') && (<MyFeature />) }

Идеи

Я читал о Компоненты высокого порядка , Хуки и Context API .Также есть несколько интересных библиотек, таких как Unstated и Redux-Logic .Я чувствую, что лучший ответ, вероятно, лежит где-то между ними, но мог бы использовать некоторые рекомендации, чтобы поставить меня на правильный путь.

Вариант использования

В этом случае я хотел бы создать повторно используемуюсервис, в котором есть методы определения доступности определенных функций.Это включает в себя относительно сложную логику, основанную на конфигурации и состоянии системы, клиента и пользователя.Также требуется, чтобы служба имела доступ к состоянию из нескольких разных частей приложения.Он также будет широко использоваться в приложении.

Зачем нужен еще один вопрос по сервису React?

Я понимаю, что к этому уже есть много подобных вопросов, обычно от людей с ангулярным прошлым,ищу React, эквивалентный Angular Service.Тем не менее, я еще не нашел ответ, который предусматривает три вышеуказанных критерия ... или, по крайней мере, не тот, который я понял.

Спасибо за любой вклад.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...