Вы можете пометить свой ответ как принятый. :)

ьзуюсь класснымhttps://github.com/apollographql/react-apollo библиотека, и я пытаюсь увидеть, есть ли лучшее соглашение для загрузки данных в компоненты, чем, как я делаю это сейчас.

Я настроил свои компоненты на Apollo HOC для загрузки данных в мои компоненты, например, так:

const mainQuery = gql`
  query currentProfileData($userId:String, $communityId:String!){
    created: communities(id:$communityId) {
      opportunities{
          submittedDate
          approvalDate
          status
          opportunity{
            id
          }
      }
    }
  }
`;
const mainQueryOptions = {
  options: {
    variables: { userId: '_', communityId: '_' },
  },
};

const ComponentWithData = compose(
  graphql(mainQuery, mainQueryOptions),
)(Component);

Эта установка прекрасно работает, но с некоторыми проблемами.

Я получаю запросы, которые всегда выполняются дважды, так как мне нужно передать реквизиты в apollo refetch для запроса. Я также должен передать некоторые фиктивные данные (также называемые "_"), чтобы предотвратить бесполезную выборку данных.

Я заканчиваю тем, что делаю некоторую необычную проверку в componentWillReceiveProps, чтобы предотвратить загрузку запроса несколько раз.

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

Если не считать того, что я обошел все вокруг HOC и вручную выполнил запросы через apollo напрямую, как я могу решить эту проблему?

Ответы на вопрос(1)

Ваш ответ на вопрос