Reactjs 是否有其他方法将变量传递到;“儿童”;阿波罗的道具?
想知道是否有方法将附加数据传递到UI触发变异的函数中。请参见下面的示例Reactjs 是否有其他方法将变量传递到;“儿童”;阿波罗的道具?,reactjs,graphql,react-hooks,react-apollo,apollo-client,Reactjs,Graphql,React Hooks,React Apollo,Apollo Client,想知道是否有方法将附加数据传递到UI触发变异的函数中。请参见下面的示例 <Mutation mutation={COMPLETE_EVALUATION} variables={{studentId:courses.course.studentId, courseId: courses.course.courseId, passed:true, checkpoints:courses.evals}}>
<Mutation
mutation={COMPLETE_EVALUATION}
variables={{studentId:courses.course.studentId, courseId: courses.course.courseId, passed:true, checkpoints:courses.evals}}>
{(completeEval, {error, loading}) => (
<div className="competency-actions ml-32 mr-64">
<Button className="w-128 mr-16 pass-button" variant="contained" onClick={() => completeEval(true)}>
PASS
</Button>
<Button className="w-128 ml-16 fail-button" variant="contained" onClick={() => completeEval(false)}>
REMEDIATE
</Button>
</div>
)}
</Mutation>
{(completeEval,{error,loading})=>(
CompleteVal(真)}>
通过
CompleteVal(假)}>
补救
)}
我想根据点击的按钮提供更多关于突变的信息。我走的是正确的道路,还是有其他方法可以完成该值的设置?传递到
Mutation
组件的渲染道具函数的第一个参数是mutate
函数。此函数可以在没有其他参数的情况下调用,但也可以接受options对象。此选项对象可以具有以下属性:
变量
optimisticResponse
refetchQueries
更新
组件的道具相同。事实上,如果通过mutate
函数提供选项,则如果还提供了相应的Mutation
组件属性,则该选项将覆盖该组件属性
这意味着您可以省略组件中的变量属性,而在调用mutate
函数时传入变量:
completeEval({
variables: {
studentId:courses.course.studentId,
courseId: courses.course.courseId,
checkpoints:courses.evals,
passed: true,
}
})
有关更多信息,请参阅。太酷了,谢谢你,丹尼尔!我更新了我的变异以删除变量prop并将其与函数一起传递。以后我会尝试对文档进行更深入的挖掘,有时很难找到我想要的内容:)