Apollo GraphQL突变与重组

Apollo GraphQL突变与重组,graphql,apollo-client,recompose,Graphql,Apollo Client,Recompose,我最近遇到了这个“用阿波罗简化你的反应组件并重新组合”@stubailo 它显示了如何使用重新组合执行GraphQL查询。我想知道是否有人能提供一个用重组进行GraphQL突变的例子。比如提交表格或类似的东西 非常感谢。对突变的组合使用与对查询的使用几乎相同。下面是一个简单(未经测试)的示例。表单组件有一个文本框并接收submitForm属性。此属性通过apollo HoC包装器映射到UpdateThing变异,并传递必要的参数 Form.jsx 导出默认类表单扩展React.Component

我最近遇到了这个“用阿波罗简化你的反应组件并重新组合”@stubailo

它显示了如何使用重新组合执行GraphQL查询。我想知道是否有人能提供一个用重组进行GraphQL突变的例子。比如提交表格或类似的东西


非常感谢。

对突变的组合使用与对查询的使用几乎相同。下面是一个简单(未经测试)的示例。表单组件有一个文本框并接收submitForm属性。此属性通过apollo HoC包装器映射到UpdateThing变异,并传递必要的参数

Form.jsx

导出默认类表单扩展React.Component{
状态={
名称:this.props.name
};
handleSubmit=(e)=>{
e、 预防默认值();
this.props.submitForm(this.props.id,this.state.name);
};
handleChangeName=(e)=>{
这是我的国家({
名称:e.target.value
});
};
render(){
返回(
提交
);
}
}
FormContainer.jsx

constwithquery=…//假设这里有查询代码
const with updatething=graphql(gql`
突变更新($id:id!,$name:String!){
更新(id:$id,name:$name){
身份证件
名称
}
}
`, {
道具:({mutate})=>({
submitForm:(id,name)=>mutate({variables:{id,name})
})
});
导出默认组合(带查询,带更新)(表单);

只需执行
即可使用
withQuery
注入
name
prop,
withUpdateThing
注入
submitForm(id,name)
prop。

感谢您的回答。但我并没有问如何用阿波罗的
compose
结合GraphQL突变。我想使用
recompose.js
执行一个变异(表单提交)。我希望我的
表单
是一个纯组件,用recompose的
和state处理程序处理状态,用
和handlers处理程序处理状态,并用recompose的
和compose进行组合。那么这不是apollo客户端的问题。我认为这里的例子应该很清楚:@pleuv我暂时使用了你的解决方案,直到我找到了重新组合。非常感谢!:)@尤尼沙:你知道了吗?我现在站在完全相同的位置;-)我能问你怎么做吗?