我正在尝试通过 react-apollo 设置我正在执行的 GraphQL 订阅查询的 setState()。我的目的是将我从 GraphQL 收到的完整对象存储起来,并将其保存到ComponentDidMount()
App.js 文件的方法中的状态中。
我已经尝试了很多方法让它工作,比如SubscribetoMore
react-apollo 的端点,但我认为我正在为它编写错误的反应代码。
/App.js
const haveAnyFish = () => (
<Subscription subscription={gql`${SUBSCRIPTION_SYNC}`} >
{({ loading, error, data }) => {
if (loading) return <p>Loading...</p>;
if (error) return <p>Error :</p>;
return (
<div>
<div>{fishes(data)}</div>
</div>
);
}}
</Subscription>
);
/App.js
class App extends React.Component {
state = {
fishes: {},
order: {}
};
componentDidMount() {
const fishes = (data) => {
this.setState({ fishes: data });
}
}
订阅查询
const SUBSCRIPTION_SYNC = `
subscription syncState{
cotd {
_id_2
name
desc
image
price
status
}
}`;