Проблема, связанная с использованием редукционных переменных с помощью вызова redux внутри response-apollo graphql с помощью apollo compose - PullRequest
0 голосов
/ 01 июня 2018

Мой Компонент должен вызывать запрос graphql, но ему нужны переменные, которые могут использоваться только Redux.Итак, я наметил соединение редукса, чтобы отреагировать.Но у меня есть проблемы с получением данных из редуктора, и вызов не загружается должным образом.

class abc extends Component {
   componentWillMount() {
     console.log(this.props.variableData); // Getting empty object.
   }
}

function mapDispatchToProps(dispatch) {
  return bindActionCreators({ variableDataFetchAction }, dispatch);
}

function mapStateToProps(state) {
  return {
     variableData: state.reducerName.variableData,
  }
}

export default compose(
  connect(mapStateToProps, mapDispatchToProps),
  graphql(MyQuery, {
    options: props => {
      return {
        .....,
        variables: props.variableData,
      };
    },
  }),
)(abc);

Мне нужно знать, есть ли проблема в том, как я могу выполнить редукцию.Потому что мой магазин, кажется, пуст.

1 Ответ

0 голосов
/ 04 июня 2018

Просто чтобы прояснить ситуацию, вам не нужно react-apollo для вызова конечной точки API GraphQL.

В вашем случае вы используете 2 библиотеки, которые обрабатывают свое собственное хранилище (при условии, что вы используетеApollo Client 2).Redux имеет Redux Store, а Apollo использует InMemoryCache для кэширования.

Вещи, которые вы получили через graphql, хранятся в кэше Apollo, вы можете использовать Apollo Client Developer Tools расширения Chrome для проверки его содержимого.

Если вы хотите поместить выборку данных через apollo-client обратно в хранилище Redux, вам нужно вручную отправить действие для его выполнения (после того, как data вернется из вызовов graphql).Это в основном недокументировано, так как не рекомендуется использовать 2 типа Store.

Если все, что вам нужно, это вызвать конечную точку GraphQL и не изменять реализацию Redux.Я предлагаю использовать apollo-fetch или graphql-request .

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