阿波罗的突变过程
Posted
技术标签:
【中文标题】阿波罗的突变过程【英文标题】:Mutation process in Apollo 【发布时间】:2019-02-20 21:57:47 【问题描述】:这是我目前的代码:
<Mutation mutation=addUserQuery>
(addUser, data)=>
console.log(data)
return (
<div className="form">
<form onSubmit=(e)=>
e.preventDefault();
console.log(e);
addUser(variables: username: "AuraDivitiae",
firstname: "Michael",
lastname: "Lee")
>
<button type="submit">Add User</button>
</form>
</div>
)
</Mutation>
当突变组件挂载时,Apollo 会做什么? 我觉得我不太了解 Apollo 内部运行的进程。 Apollo 是否订阅突变查询的结果? 然后它会在返回时更新缓存吗? 那么Data是否存储在某些组件状态中?
我觉得文档有时没有提供足够的信息...
【问题讨论】:
【参考方案1】:<Mutation/>
组件是...normal react component - 它有自己的状态、生命周期、使用 apollo 客户端(及其缓存)、保存数据。
在渲染中我们的重新渲染不是由组件的setState
引起的,这可能有点令人困惑。
如果<Mutation/>
是一个组件,那么事实上你的内部内容是由<Mutation/>
的render
函数呈现的,而不是在我们的组件中(它只呈现<Mutation/>
组件)。这是组件树结构(具有自己的生命周期)中的附加深度级别。
【讨论】:
以上是关于阿波罗的突变过程的主要内容,如果未能解决你的问题,请参考以下文章