当使用Apollo的Mutation组件时,是否有任何方法可以从update回调函数内部获取突变的变量?
<Mutation
mutation={mutation}
update={(cache, result) => {
// is there any way to get the mutation variables here?
}}
>
{mutate => <MyComponent onSubmit={mutate} />}
</Mutation>
不幸的是,该信息没有传递给更新功能。您需要将Mutation
组件移入内部MyComponent
(或将状态提升或移出MyComponent
),以便可以将变量Mutation
而不是mutate
函数直接传递给组件:
<Mutation
mutation={mutation}
variables={{ ... }}
update={()=> {
// Now whatever values you used for the mutation will also be available here
}}
>
{mutate => {
// mutate can be used without passing any variables to it
}}
</Mutation>
您可能有一个独特的用例,但是通常我们首先不需要担心变量。通常,插入,删除和更新突变会返回插入/删除/更新的对象,并且有效载荷足以更新缓存。如果您的突变未返回突变的数据,并且您有能力更改API,则可以考虑这样做,因为这样做也会有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句