برنامه نویسی
Apollo GraphQL – راه اندازی ReactJS
1. Dependencies را نصب کنید
npm install @apollo/client graphql
آپولو کلاینت را پیکربندی کنید
// index.js or App.js
import React from 'react';
import { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client';
import App from './App';
const client = new ApolloClient({
uri: 'YOUR_GRAPHQL_ENDPOINT_URI',
cache: new InMemoryCache()
});
ReactDOM.render(
<ApolloProvider client={client}>
<App />
</ApolloProvider>,
document.getElementById('root')
);
کوئری های GraphQL را بنویسید
// queries.js
import { gql } from '@apollo/client';
export const GET_BOOKS = gql`
query GetBooks {
books {
title
author
}
}
`;
4. از Query Component یا Hooks استفاده کنید
استفاده از قلاب useQuery:
import React from 'react';
import { useQuery } from '@apollo/client';
import { GET_BOOKS } from './queries';
const BookList = () => {
const { loading, error, data } = useQuery(GET_BOOKS);
if (loading) return <p>Loading...</p>;
if (error) return <p>Error :(</p>;
return (
<div>
{data.books.map((book, index) => (
<div key={index}>
<h3>{book.title}</h3>
<p>{book.author}</p>
</div>
))}
</div>
);
};
export default BookList;
استفاده از مولفه Query:
import React from 'react';
import { Query } from '@apollo/client/react/components';
import { GET_BOOKS } from './queries';
const BookList = () => (
<Query query={GET_BOOKS}>
{({ loading, error, data }) => {
if (loading) return <p>Loading...</p>;
if (error) return <p>Error :(</p>;
return (
<div>
{data.books.map((book, index) => (
<div key={index}>
<h3>{book.title}</h3>
<p>{book.author}</p>
</div>
))}
</div>
);
}}
</Query>
);
export default BookList;
5. جهش ها و اشتراک ها
برای جهشها و اشتراکها، میتوانید از قلابهای useMutation و useSubscription به ترتیب توسط Apollo Client استفاده کنید.