您好,登錄后才能下訂單哦!
要在React中使用GraphQL進(jìn)行數(shù)據(jù)操作,您可以使用以下步驟:
npm install @apollo/client graphql-tag
client.js
文件來(lái)初始化和配置Apollo Client。import { ApolloClient, InMemoryCache } from '@apollo/client';
const client = new ApolloClient({
uri: 'https://your-graphql-server.com/graphql',
cache: new InMemoryCache()
});
export default client;
import { gql } from '@apollo/client';
export const GET_DATA = gql`
query {
getData {
id
name
age
}
}
`;
export const UPDATE_DATA = gql`
mutation updateData($id: ID!, $name: String!, $age: Int!) {
updateData(id: $id, name: $name, age: $age) {
id
name
age
}
}
`;
import { useQuery, useMutation } from '@apollo/client';
import { GET_DATA, UPDATE_DATA } from './queries';
import client from './client';
const MyComponent = () => {
const { loading, error, data } = useQuery(GET_DATA, { client });
const [updateData] = useMutation(UPDATE_DATA, { client });
if (loading) return <p>Loading...</p>;
if (error) return <p>Error :(</p>;
const handleUpdateData = (id, name, age) => {
updateData({ variables: { id, name, age } });
}
return (
<div>
{data.getData.map(item => (
<div key={item.id}>
<p>{item.name}</p>
<p>{item.age}</p>
<button onClick={() => handleUpdateData(item.id, 'New Name', 30)}>Update</button>
</div>
))}
</div>
);
}
export default MyComponent;
這樣,您就可以在React中使用GraphQL查詢和變更來(lái)實(shí)現(xiàn)數(shù)據(jù)操作。您可以根據(jù)需要添加更多的查詢和變更,并根據(jù)返回的數(shù)據(jù)更新UI。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。