在GraphQL查询后,将数据存储在React状态中可以通过以下步骤实现:
useQuery
钩子或Query
组件来执行查询。这将返回一个包含查询结果的响应对象。useState
钩子来创建一个状态变量,用于存储GraphQL查询的结果数据。初始状态可以设置为null
或一个空对象。useEffect
钩子来监听GraphQL查询的响应对象。当响应对象发生变化时,更新React状态变量的值为查询结果数据。下面是一个示例代码,演示了如何将GraphQL查询的结果存储在React状态中:
import React, { useState, useEffect } from 'react';
import { useQuery } from '@apollo/client';
import { GET_DATA } from './graphqlQueries';
const MyComponent = () => {
const [data, setData] = useState(null);
const { loading, error, data: queryData } = useQuery(GET_DATA);
useEffect(() => {
if (queryData) {
setData(queryData);
}
}, [queryData]);
if (loading) {
return <div>Loading...</div>;
}
if (error) {
return <div>Error: {error.message}</div>;
}
return (
<div>
{data && (
<ul>
{data.items.map((item) => (
<li key={item.id}>{item.name}</li>
))}
</ul>
)}
</div>
);
};
export default MyComponent;
在上面的示例中,我们使用了useQuery
钩子来执行GraphQL查询,并将查询结果存储在queryData
变量中。然后,我们使用useEffect
钩子来监听queryData
的变化,并在变化时更新React状态变量data
的值。最后,我们根据data
的值来展示数据。
请注意,上述示例中的GET_DATA
是一个GraphQL查询的名称,你需要根据你的实际情况替换为你自己的查询。
对于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体品牌商,建议你参考腾讯云的官方文档和开发者社区,以获取与GraphQL查询和React状态管理相关的产品和解决方案。
领取专属 10元无门槛券
手把手带您无忧上云