После некоторых исследований я нашел несколько вопросов о стековом потоке относительно того, чего я пытаюсь достичь, однако я не чувствую, что эти вопросы и их ответы дают мне «ответы» или «указания», которые я ищу. .
Примечание : Я довольно новичок, чтобы реагировать, даже если я уже сделал 2 проекта и внедрил Redux в один из них. Тем не менее, я совсем не новичок в C # или Go, тем более в C. На основании своего опыта я просто привык к некоторым архитектурам и хотел бы воспроизвести одну из них.
Вот хорошая схема из подобного моего вопроса:
Ситуация:
Итак, допустим, у меня есть страницы, которые содержат компоненты. Я хочу, чтобы эти страницы / компоновки отображали некоторые вещи. Одна из моих функций - открыть карту, и для этого, когда клиент перемещается, он получает новые детали из моего API. Однако я не хочу просить сервер предоставить мне новые детали и те, которые я уже обнаружил.
Моя идея об этом - использовать службу MapService.js
. Этот будет просто хранить обнаруженные фрагменты карты и автоматически запрашивать у сервера новые, и, конечно, сохранять новые (concat).
Тем не менее, я должен быть зарегистрирован для этого, поэтому я хотел бы ApiService.js
, который будет хранить мои данные аутентификации и автоматически помещать их в каждый из моих запросов.
Исходя из того, что я сказал, у нас будет что-то вроде:
Страница -> Компонент -> Сервис -> API
Исходя из этого, мой API получит ответ API, обработает его и вернет компоненту. Обработано означает (данные добавлены к предыдущему, затем все возвращено)
Я видел в Интернете один вопрос, который ссылался на шаблон «MVCS» (Model View Controller Service), и мне кажется, что я что-то ищу, но не уверен, как реализовать это в ReactJ.
Redux - это то, что вы вкладываете в свое решение повсюду. Я хотел бы использовать его в качестве «хранилища», скажем так, чтобы иметь возможность управлять им из службы, а не из самого компонента. Однако служба должна быть единым экземпляром, совместно используемым в приложении, и я не знаю, может ли такое решение, как внедрение зависимостей, быть решением в ReactJS
Не стесняйтесь просить любые изменения, если вам нужно больше деталей:)
Спасибо за вашу помощь!