React Apollo Mutations允许我创建一个组件,该组件采用MutationResult作为道具:https://www.apollographql.com/docs/react/api/react-apollo.html#mutation-render-prop
现在,如果我要使用由graphql()创建的高阶组件
function MyComponent({ mutate }) {
return (
<button onClick={() => {
mutate({
variables: { foo: 42 },
});
}}>
Mutate
</button>
);
}
export default graphql(gql`mutation { ... }`)(MyComponent);
我的组件将只有使变
作为道具。如何将{data, load, error}
获取到组件中?
@allenylju
您实际上可以在文档中阅读它。它说突变返回一个Promise。因此,您可以使用. then
从突变中获取结果,或者使用. catch
以防出现错误。在加载的情况下,您可以使用组件状态来执行此操作,在突变之前调用setState({load: true})
,在它之后调用setState({load: false})
。希望有帮助!
变异是一种promise,因此您可以接收then中的值,并根据需要返回它们。如果您有async和await,那么可以返回数据并使用await,这样您就可以以同步样式的代码访问它。
function MyComponent({ mutate, setState }) {
return (
<button onClick={() =>
mutate({
variables: { foo: 42 },
}).then(data => {
// Process your data as needed here:
setState({ data });
}).catch(err => console.error('Our Error: ', err);
}>
Mutate
</button>
);
}
export default graphql(gql`mutation { ... }`)(MyComponent);
本文向大家介绍React.js中的高阶组件,包括了React.js中的高阶组件的使用技巧和注意事项,需要的朋友参考一下 高阶部分简称为hoc。这是一种接收组件并返回具有附加功能的新组件的模式。 // hoc是自定义JavaScript函数的名称 我们使用带有状态和/或道具的组件来构建UI。hoc用类似的方法从提供的组件中构建一个新组件。 使用hoc在React中成为一个横切关注点。这些组件将负责单
Examples Using the `withRouter` utility 如果你想应用里每个组件都处理路由对象,你可以使用withRouter高阶组件。下面是如何使用它: import { withRouter } from 'next/router' const ActiveLink = ({ children, router, href }) => { const style =
我有一个UserControl,其中有两个文本框。用户可以根据需要添加这些UserControls的多个副本。每个UserControl都添加到面板的底部。如何从这些用户控件中获取信息。 这是添加我当前使用的UserControl的代码: 以从文本框中获取数据,但MailingReference.Controls不存在。 我不确定如何遍历每个MailingReference UserControl
在React中,高阶组件是重用组件逻辑的一项高级技术。高阶组件并不是React API的一部分。高阶组件源自于React生态。 具体来说,高阶组件是一个函数,能够接受一个组件并返回一个新的组件。 const EnhancedComponent = higherOrderComponent(WrappedComponent); 组件是将props转化成UI,然而高阶组件将一个组价转化成另外一个组件
我有一个要导入页面的组件: 在页面上,我呈现组件
我的<代码>