クエリとミューテーションを含む次のコンポーネントがありますが、コンポーネントはデータとミューテーション プロパティを受け取りません。
コードで何か間違っていることや不足していることはありますか? ただし、クエリは実行されますが、渡されません。this.props.mutate と this.props.data は未定義です。
class ResetConfirm extends React.Component {
static propTypes = {
intl: intlShape.isRequired,
token: React.PropTypes.string,
data: React.PropTypes.shape({
loading: React.PropTypes.bool.isRequired,
checkToken: React.PropTypes.array,
}).isRequired,
mutate: React.PropTypes.func.isRequired,
}
submitForm = (model) => {
this.setState({
loading: true,
});
this.props.mutate({ variables: { password: model.password, token: this.props.token } })
.then(({ data }) => {
// redirect
}).catch((error) => {
console.log('there was an error sending the query', error);
});
}
render() {
//render jsx
}
}
const CheckTokenQuery = gql`
query CheckToken($token: String!) {
checkToken(token: $token) {
response
}
}
`;
const SetNewPasswordMutation = gql`
mutation SetNewPasswordMutation($password: String!, $token: String!) {
resetPassword(password: $password, token: $token) {
response
}
}
`;
export default graphql(SetNewPasswordMutation, { name: SetNewPasswordMutation })(
graphql(CheckTokenQuery, { name: CheckTokenQuery, forceFetch: true })(injectIntl(connect(ResetConfirm)))
);