Reactql - реагировать на редукцию с графиком

Я хотел бы начать создавать свое новое приложение с responseql. Я действительно в стеке GraphQl и MERN. Тем не менее, я начал изучать шаблон редукса совсем недавно. Моя главная боль - как создавать действия, которые извлекают данные с помощью запроса graphql (я использую в основном это apollo). Я имею в виду - я нахожу примеры с шаблоном REST, но я понятия не имею и не могу найти ни одного примера простого приложения Reac-Redux, получающего данные с помощью запроса graphql.

Я был бы очень признателен за любые примеры / помощь / подсказки.

2 ответа

Решение

Посмотрите репозиторий ReactQL в качестве примера.

Он демонстрирует многие из функций, которые вы ищете, включая "публикацию" данных с помощью мутаций GraphQL и извлечение данных с помощью запроса GraphQL, в контексте управления пользователями и сессиями.

Не делайте ошибку, чтобы перепутать слишком много технологий на ранней стадии вашего приложения. Может быть, стек ReactQL предлагает слишком много библиотек?

Вопрос не в том, как объединить Redux и Apollo Client для создания удаленного API-запроса, а в том, как разделить их для выполнения их конкретных обязанностей. Если вы используете клиент Apollo в своем клиентском приложении, поскольку у вас есть серверная часть GraphQL, тогда используйте Apollo для своего удаленного состояния. Тогда Redux (или локальное состояние MobX/React) используется только для состояния просмотра (например, переключение всплывающих окон, поле поиска). Если вы не используете Apollo Client, Redux (с redux-saga или redux-thunk) может использоваться вместо удаленных данных. В противном случае используйте компоненты Query и Mutation, предоставляемые response-apollo, чтобы подключить ваши удаленные данные к слою React.

  • Если ваше приложение работает исключительно с данными и использует сервер GraphQL, для вашего приложения может быть достаточно Apollo Client.

  • Если у вас есть несколько состояний просмотра в вашем приложении, включите локальное управление состояниями React.

  • Если у вас от нескольких до нескольких состояний просмотра, используйте Redux или MobX для вашего состояния просмотра или попробуйте apollo-link-state.

Другие вопросы по тегам