如何在处理程序函数中链接useLazyQuery钩子

时间:2019-11-26 20:36:11

标签: reactjs react-apollo

我想在处理程序函数中链接阿波罗useMutation和useQuery挂钩。我似乎无法获得useLazyQuery钩子的data属性作为别名-或就此而言,突变属性正在加载,错误和数据。使用useMemo可以达到相同的效果,但是我想探索我对promise链中的惰性查询可以做什么。

 const [email, setEmail] = useState('');
  const [password, setPassword] = useState('');

  const [requestLogin, { loading, error }] = useMutation(LOGIN_USER)
  const [getUserProfile, { 
    loading: loadingProfile, 
    error: errorProfile, 
    data: profileData 
  }] = useLazyQuery(GET_USER_PROFILE)

  const submitHandler = (event) => {
    event.preventDefault()
    requestLogin({
      variables: {
        email: email, 
        password: password
      }
    }).then(({ data }) => {
      console.log("INITIAL DATA", data)
      login(data.login.token, data.login.user)
    }).then(({ data, profileData }) => getUserProfile({
      variables: {
        account_id: data.login.user.account.id
      }
    })).then(profileData => {
      console.log("DATA", profileData)
      history.push('/')
    })
  }

0 个答案:

没有答案