gpt4 book ai didi

javascript - Apollo:数据/变异 Prop 未传递给组件

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:00:29 27 4
gpt4 key购买 nike

我有以下带有查询和突变的组件,但我的组件没有收到数据和突变 prop。

我的代码是不是做错了什么或遗漏了什么?虽然查询确实得到执行,但它没有传递下去。 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)))
);

最佳答案

您已使用 name 将突变属性命名为 SetNewPasswordMutation

这意味着您需要从组件中调用它,例如:

this.props.SetNewPasswordMutation(
{ variables: { password: model.password, token: this.props.token } })

关于javascript - Apollo:数据/变异 Prop 未传递给组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40643719/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com