$ npx create-react-app api-integrate$ npm install axiosAPI JSONPlaceholder
POST(๋ฐ์ดํฐ ๋ฑ๋ก) GET(๋ฐ์ดํฐ ์กฐํ) PUT(๋ฐ์ดํฐ ์์ ) DELETE(๋ฐ์ดํฐ ์ญ์ )๋ฑ์ ๋ฉ์๋๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ ๊ด๋ฆฌํ๋ค.
import axios from "axios";
axios.get("/users/1"); // ์ฌ๊ธฐget์ด ์์นํ ์๋ฆฌ์ ๋ฉ์๋ ์ด๋ฆ์ ์๋ฌธ์๋ก ๋ฃ์ผ๋ฉด ๋๋ค.
axios.post("/users/1");์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ๋ฑ๋กํ๊ณ ์ถ๋ค๋ฉด ์ด๋ ๊ฒ ์ฌ์ฉํ๋ค. ๋ฐ์ดํฐ๋ฅผ ๋ฑ๋กํ ๋์๋ ๋ ๋ฒ์งธ ํ๋ผ๋ฏธํฐ์ ๋ฑ๋กํ๊ณ ์ ํ๋ ์ ๋ณด๋ฅผ ๋ฃ์ ์ ์๋ค.
axios.post("/users", {
username: "seulhee",
name: "seulhee",
});try...catch๋ ์์ธ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๊ตฌ๋ฌธ์ด๋ค.
const fetchUsers = async () => {
try {
setError(null);
setUsers(null);
setLoading(true);
const response = await axios.get(
"https://jsonplaceholder.typicode.com/users"
);
setUsers(response.data);
} catch (e) {
setError(e);
}
setLoading(false);
};try ์์ ์คํ๋ ์ ์ธ๋ค์ด๊ณ catch ์์ try ๋ธ๋ก์์ ์์ธ๊ฐ ๋ฐ์ํ์์ ๋ ์คํ๋ ์ ์ธ๋ค์ด๋ค.
fetchUsers ํจ์๋ฅผ ๋ฐ๊นฅ์ผ๋ก ๊บผ๋ด ๋ฒํผ์ ๋ง๋ค์ด ํด๋น ํจ์๋ฅผ ์ฐ๊ฒฐํด์ค๋ค.