到目前为止,我知道两种可能的解决方法。
第一个
问题中一个已经说明。变量同时是的道具
ProfileWithData。因此,您需要找到一种方法来更改道具并重新渲染组件。这通常是通过父组件实现的。因此,通常您不会在中更改变量
ProfileWithData。此组件应仅用于显示目的。但是,这并不表示无法完成。您可以将父组件的方法传递给子组件,以操纵父组件的状态。这将重新渲染两个组件,并
ProfileWithData使用新的prop
/变量进行渲染。
第二种
方法是从
ProfileWithData组件内部进行查询。然后,您可以从带有状态的组件内部操作变量。可以在这里找到一种方法
您可以通过使用
withApollo高阶组件传递对Apollo Client的引用来实现此
目的,如此处所述:http : //dev.apollodata.com/react/higher-order-
components.html#withApollo然后,您可以
client.query像这样调用传入的对象:class MyComponent extends React.Component { runQuery() { this.props.client.query({ query: gql`...`, variables: { ... }, }); } render() { ... } } withApollo(MyComponent);



