Tutorial ini menunjukkan membina aplikasi Web React yang mengambil dan memaparkan data Pokémon menggunakan klien GraphQL dan Apollo. Kami akan menggunakan API graphql-pokemon
.
Konsep Utama:
useQuery
cangkuk: cangkuk reaksi dari @apollo/react-hooks
untuk mengambil hasil pertanyaan graphql. Prasyarat:
Persediaan:
Buat App React:
npx create-react-app react-pokemon cd react-pokemon
Pasang pakej klien Apollo:
npm install graphql apollo-client apollo-cache-inmemory apollo-link-http @apollo/react-hooks graphql-tag
Konfigurasi klien Apollo (src/index.js):
import { ApolloClient, InMemoryCache, HttpLink, ApolloProvider } from '@apollo/client'; import { BrowserRouter as Router } from 'react-router-dom'; // Add for routing if needed import App from './App'; import ReactDOM from 'react-dom/client'; const client = new ApolloClient({ cache: new InMemoryCache(), link: new HttpLink({ uri: 'https://graphql-pokemon.now.sh/' }), }); const root = ReactDOM.createRoot(document.getElementById('root')); root.render( <React.StrictMode> <ApolloProvider client={client}> <Router> {/* Wrap with Router if using routing */} <App /> </Router> </ApolloProvider> </React.StrictMode> );
mengambil data Pokémon (src/app.js):
import { useQuery, gql } from '@apollo/client'; import React from 'react'; const GET_POKEMON = gql` query pokemons($first: Int!) { pokemons(first: $first) { id name image } } `; function App() { const { loading, error, data } = useQuery(GET_POKEMON, { variables: { first: 150 } }); if (loading) return <p>Loading...</p>; if (error) return <p>Error: {error.message}</p>; return ( <div> <h1>Pokémon List</h1> {data.pokemons.map((pokemon) => ( <div key={pokemon.id}> <img src={pokemon.image} alt={pokemon.name} /> <h3>{pokemon.name}</h3> </div> ))} </div> ); } export default App;
Styling (pilihan): Tambah CSS ke src/App.css
atau gaya inline untuk menyesuaikan penampilan.
Jalankan aplikasi: npm start
Deploy (Optional): Gunakan platform seperti Netlify, Vercel, atau GitHub Pages untuk menggunakan aplikasi anda yang dibina. Ingatlah untuk menjalankan npm run build
sebelum menggunakan.
Sambutan yang disemak ini memberikan tutorial yang lebih ringkas dan diselaraskan, memberi tumpuan kepada langkah -langkah teras. Pengendalian ralat dan penggunaan berubah -ubah diperbaiki untuk kejelasan dan keteguhan. Ingatlah untuk menyesuaikan gaya yang diperlukan untuk memadankan pilihan anda. Kemasukan penghalaan adalah pilihan, bergantung kepada kerumitan aplikasi anda.
Atas ialah kandungan terperinci Cara membina aplikasi web dengan graphql dan bertindak balas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!