我想知道是否有办法在反应组件中调用查询而不使用graphql连接组件,因为它导致组件在第一次安装时启动查询。
所以基本上有办法避免默认调用吗?
答案 0 :(得分:3)
如果您手动需要控制查询或变异而不使用graphql()
HOC中的默认行为,请使用withApollo
。它将GraphQL API客户端对象作为prop。
客户端有.query
和.mutate
作为方法。因此,您可以在this.props.client.query(...)
中componentDidMount
进行操作。
import { withApollo } from 'react-apollo';
class Thing extends Component {
componentDidMount() {
this.props.client.query(myQuery).then(data => {
this.setState({ data });
};
}
}
export default withApollo(Thing);