Rumah >hujung hadapan web >tutorial js >Cara Mengintegrasikan REST API dalam React dengan fetch dan Axios
Menyepadukan REST API ke dalam aplikasi React ialah tugas biasa untuk pembangun web. REST (Pemindahan Negeri Perwakilan) ialah gaya seni bina yang membolehkan anda berinteraksi dengan sumber luaran (data) melalui kaedah HTTP seperti GET, POST, PUT, DELETE, dll. React memudahkan untuk disepadukan dengan REST API, membolehkan anda mengambil data , siarkan data baharu dan kendalikan pelbagai respons API dengan cekap.
Dalam panduan ini, kami akan meneroka cara mengintegrasikan API REST ke dalam apl React menggunakan kaedah berbeza seperti API Ambil, Axios dan mengendalikan pengambilan data tak segerak.
Fungsi fetch() dibina ke dalam JavaScript dan menyediakan cara mudah untuk membuat permintaan HTTP. Ia mengembalikan Janji yang menyelesaikan kepada objek Respons yang mewakili respons kepada permintaan.
Berikut ialah contoh mudah menggunakan API pengambilan untuk mendapatkan data daripada API REST dan memaparkannya dalam komponen React.
import React, { useState, useEffect } from 'react'; const API_URL = 'https://jsonplaceholder.typicode.com/posts'; // Example REST API const FetchPosts = () => { const [posts, setPosts] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { // Fetch data from the API fetch(API_URL) .then((response) => { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then((data) => { setPosts(data); setLoading(false); }) .catch((error) => { setError(error.message); setLoading(false); }); }, []); if (loading) return <div>Loading...</div>; if (error) return <div>Error: {error}</div>; return ( <div> <h1>Posts</h1> <ul> {posts.map((post) => ( <li key={post.id}> <h2>{post.title}</h2> <p>{post.body}</p> </li> ))} </ul> </div> ); }; export default FetchPosts;
Axios ialah klien HTTP berasaskan janji untuk penyemak imbas dan Node.js. Ia merupakan alternatif untuk diambil dan selalunya diutamakan kerana sintaksnya yang lebih bersih dan ciri tambahan seperti transformasi JSON automatik, pembatalan permintaan dan banyak lagi.
Untuk menggunakan Axios, pasang dahulu melalui npm:
npm install axios
Berikut ialah contoh yang sama seperti di atas tetapi dengan Axios.
import React, { useState, useEffect } from 'react'; import axios from 'axios'; const API_URL = 'https://jsonplaceholder.typicode.com/posts'; const FetchPosts = () => { const [posts, setPosts] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { // Fetch data from the API using Axios axios .get(API_URL) .then((response) => { setPosts(response.data); setLoading(false); }) .catch((error) => { setError(error.message); setLoading(false); }); }, []); if (loading) return <div>Loading...</div>; if (error) return <div>Error: {error}</div>; return ( <div> <h1>Posts</h1> <ul> {posts.map((post) => ( <li key={post.id}> <h2>{post.title}</h2> <p>{post.body}</p> </li> ))} </ul> </div> ); }; export default FetchPosts;
Selain permintaan GET, anda boleh menghantar data ke pelayan menggunakan permintaan POST. Ini biasanya digunakan untuk menyerahkan borang atau mencipta rekod baharu.
import React, { useState, useEffect } from 'react'; const API_URL = 'https://jsonplaceholder.typicode.com/posts'; // Example REST API const FetchPosts = () => { const [posts, setPosts] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { // Fetch data from the API fetch(API_URL) .then((response) => { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then((data) => { setPosts(data); setLoading(false); }) .catch((error) => { setError(error.message); setLoading(false); }); }, []); if (loading) return <div>Loading...</div>; if (error) return <div>Error: {error}</div>; return ( <div> <h1>Posts</h1> <ul> {posts.map((post) => ( <li key={post.id}> <h2>{post.title}</h2> <p>{post.body}</p> </li> ))} </ul> </div> ); }; export default FetchPosts;
npm install axios
Menyepadukan API REST ke dalam aplikasi React ialah kemahiran penting untuk pembangunan web moden. Sama ada anda menggunakan fetch() atau pustaka seperti Axios, React memberikan anda cangkuk berkuasa seperti useEffect dan useState untuk mengurus permintaan API dan mengemas kini UI berdasarkan respons. Anda boleh mengambil data, menghantar data dan mengendalikan ralat dengan anggun, memastikan pengalaman pengguna yang lancar.
Atas ialah kandungan terperinci Cara Mengintegrasikan REST API dalam React dengan fetch dan Axios. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!