我是新来的人,动身了graphQL和钩子。 因此,我一直在阅读和观看一些有关如何使用它们的教程,我已经完成了一些有效的矿工功能,但是我似乎无法正常工作。
我已经创建了我的客户端,并将其添加到App.js中的提供程序中,如下所示:
return (
<div className="App">
<ApolloProvider client={client}>
<AuthenticationProvider>
<Routes />
</AuthenticationProvider>
</ApolloProvider>
</div>
);
但是我不认为问题出在appJs中。 由于我收到了触发请求,因此可以在浏览器的“网络”标签中看到它。而且我看到我得到了200resp,并且其中包含有效数据。但是在我的验证功能中,我无法调用onCompleted。我想念什么?这是验证组件:
import React, { useState } from 'react';
import gql from 'graphql-tag';
import { graphql } from 'react-apollo';
import './verification.scss';
const Verification = ({ mutate }) => {
const [mnr, setMnr] = useState('');
return (
<div className='verification'>
<h1>Verification</h1>
<form
className='verification--form'
onSubmit={e => {
mutate({
variables: {
mobile: mnr.toString(),
callbackUrl: process.env.REACT_APP_CALL_BACK_URL
},
onCompleted: data => console.log(data),
onError: error => console.log(error)
});
e.preventDefault();
}}
>
<label>
mobile:
<input
name='mobile'
type='number'
value={mnr}
onChange={e => {
setMnr(e.target.value);
}}
required
/>
</label>
<button type='submit' disabled={!mnr.length === 12}>
Submit
</button>
</form>
</div>
);
};
const START_VERIFICATION = gql`....`;
export default graphql(START_VERIFICATION)(Verification);