【问题标题】:useMutation not mutating the local stateuseMutation 不改变本地状态
【发布时间】:2020-05-03 02:53:40
【问题描述】:

我在尝试改变 apollo 中的本地状态时遇到此错误。

errInvariant Violation:期望解析的 GraphQL 文档。也许您需要将查询字符串包装在“gql”标签中? http://docs.apollostack.com/apollo-client/core.html#gql

初始状态

registration: {
    __typename: 'Registration',
    tempMerchantId: '',
    authorizeProfile: {
      __typename: 'AuthorizePersonProfile',
      nid_front: '',
      nid_back: '',
      authorized_person_photo: ''
    }
  }

我的突变

export const setAuthorizePersonQuery = gql`
    mutation setAuthorizePersonProfileInfo($authorizePerosnData: Object!){
        setAuthorizePersonProfileInfo(authorizePersonData: $authorizePerosnData) @client
    }
`;

我的解析器

export const setAuthorizePersonProfileInfo = (
  _, { authorizePersonData }, { cache }
) => {
  try {
    const prevData = cache.readQuery({ getAuthorizePersonProfileQuery });
    cache.writeQuery({
      getAuthorizePersonProfileQuery,
      data: {
        registration: {
          __typename: 'Registration',
          authorizeProfile: {
            __typename: 'AuthorizePersonProfile',
            ...prevData.registration.authorizeProfile,
            ...authorizePersonData
          }
        }
      }
    });
  } catch (e) {
    console.log(`err${e}`);
  }
  return null;
};

我正在尝试改变按钮按下时的本地状态,功能是

const handlePressedNext = () => {
    Promise.all([
      setAuthorizePersonProfileInfo({
        variables: { authorizePersonData: generateNidData() }
      })
    ])
      .then(() => {
        navigation.navigate('Photograph');
      });
  };

generateNidData 函数如下所示

const generateNidData = () => ({
    nid_front: nidFrontImage,
    nid_back: nidBackImage
  });

我是 apollo 客户端的新手。我不明白我做错了什么。谁能帮我解决问题?

【问题讨论】:

    标签: react-native graphql react-apollo apollo-client graphql-js


    【解决方案1】:

    getAuthorizePersonProfileQuery 不是readQuery 的有效选项。据推测,您的意思是改用query

    【讨论】:

      猜你喜欢
      • 2020-08-08
      • 2021-07-01
      • 2020-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多