从GraphQL查询后,如何以React状态存储数据? [英] How to store the data in React state after Querying it from GraphQL?
本文介绍了从GraphQL查询后,如何以React状态存储数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
以下是我的查询:
import React from 'react';
import getProducts from '../queries/getProduct';
import { Query } from "react-apollo";
export const Product = () => {
const proId = {
"productId": "95eb601f2d13"
}
return (
<Query query={getProducts} variables={proId}>
{({ loading, error, data }) => {
if (loading) return "Loading...";
if (error) return `Error! ${error.message}`;
return (
<div>
{data.map(entry => entry)}
</div>
);
}}
</Query>
);
};
export default Product;
我现在需要将接收到的数据存储在React或Redux中(以理想状态为准),以便可以在1/2 Components中访问该数据.如何存储数据而不是像上面那样渲染数据?
I need to now store the received data in React or Redux (whichever is ideal) so I can access that data in 1/2 Components. How can I store data rather than rendering it like it's doing above?
根据这些数据,我渲染了90%的组件.
Depending on this data, I am rendering 90% components.
推荐答案
尝试像这样的 onCompleted
:
function onCompletedHandler(data) {
dispatch({ 'RECEIVED_DATA': data })
}
<Query query={getProducts} variables={proId} onCompleted={onCompletedHandler}>
...
</Query>
这篇关于从GraphQL查询后,如何以React状态存储数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文