Как получить данные в ReactionJS, используя GraphQL / Redux - PullRequest
0 голосов
/ 07 января 2019

Я новичок в graphQL, и недавно мне сказали его изучить. Я хочу получить информацию из одного из моих запросов, и я успешно получил полезную нагрузку для возврата в моем файле аутентификации, но я не могу получить данные полезной нагрузки в одном из моих других файлов.

Как я могу получить доступ к данным полезной нагрузки getUsersForMyProviderAccount в моем файле users.js? Если вы загляните внутрь componentDidMount, он вызывает запрос graphQL.

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

export const selectUsersForProviderAccounts = () =>
  createSelector(selectDomain(), store => {
    return store.usersForProviderAccounts || {};
  });

enter image description here

файл auth.js

export function getUsersForMyProviderAccount(params) {
  const { provider = {} } = params;

  const query = `
    query {
      getUsersForMyProviderAccount(providerId: ${provider.id}) {
        id
        firstName
        lastName
        emailAddress
        userName
      }
    }
  `;

  return dispatch => {
    dispatch(fetchingProviderInProgress());

    return ApolloService.query({ query })
      .then(response => {
        const { getUsersForMyProviderAccount } = response.data;
        console.log(getUsersForMyProviderAccount);
        dispatch(
          getUsersForMyProviderAccountSuccess({
            payload: getUsersForMyProviderAccount,
            provider
          })
        );
        dispatch(resetAppMessages());
        console.log(getUsersForMyProviderAccount);
        return getUsersForMyProviderAccount;
      })
      .catch(error => {
        dispatch(getUsersForMyProviderAccountFailure());
        // Need to throw this error so that the callee (react component) can use this error in it's own catch block
        throw error;
      });
  };
}

user.js

componentDidMount() {
    const {
      getUsersForMyProviderAccount = () => {},
      getUser = () => {},
      providerAccount = {}
    } = this.props;
    this.props.form.validateFields((err, values) => {
      getUser({ providerId: providerAccount.id, ...values });
      getUsersForMyProviderAccount();
    });
  }

Как я импортировал и экспортировал в файл users.js

импорт

import {
  getUsersForMyProviderAccount,
  fetchUsers
} from "../../../stores/Provider/actions";

экспорт

const mapDispatchToProps = dispatch => ({
  getUsersForMyProviderAccount: () => dispatch(getUsersForMyProviderAccount())
});

const WrappedUsersList = Form.create()(UsersList);

export default connect(
  mapStateToProps,
  mapDispatchToProps
)(WrappedUsersList);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...