Rumah >hujung hadapan web >tutorial js >Cara membina aplikasi web dengan graphql dan bertindak balas
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:
<code class="language-bash">npx create-react-app react-pokemon cd react-pokemon</code>
Pasang pakej klien Apollo:
<code class="language-bash">npm install graphql apollo-client apollo-cache-inmemory apollo-link-http @apollo/react-hooks graphql-tag</code>
Konfigurasi klien Apollo (src/index.js):
<code class="language-javascript">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></app> </router> </apolloprovider> </react.strictmode> );</code>
mengambil data Pokémon (src/app.js):
<code class="language-javascript">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="%7Bpokemon.image%7D" alt="{pokemon.name}"> <h3>{pokemon.name}</h3> </div> ))} </div> ); } export default App;</code>
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!