반응형
pre-project를 하면서 서버에서 데이터를 받아올 때마다 axios로 받아왔다.
이번 main-project를 시작하면서 멘토님을 새로 만났는데 axios를 instance로 쓰는 방법을 공부해보라고 숙제를 내주셨다.
axios를 instance로 쓰면 좋은 점이 구성 기본값 설정을 쉽게 해준다는 장점이 있다.
그리고 instance가 interceptor 처리를 하도록 설정할 수 있다는 장점이 있다.
우선 여기서는 구성 기본값 설정을 쉽게 해주는 코드를 살펴보자!
1. axios를 instance로 안쓰는 방법
import {useEffect, useState} from 'react';
import axios from "axios";
export default function App() => {
const [posts, setPosts] = useState([]);
useEffect(() => {
const getPosts = () => {
axios
.get(`https://jsonplaceholder.typecode.com/posts`)
.then((r) => setPosts(r?.data))
.catch((err) => console.log(err))
};
getPosts();
},[]);
return (
<div className='App'>
<h1>Axios Instance</h1>
<div>
{posts?.map((p) => (
<p>{p.title}</p>))}
</div>
</div>
)
}
2. axios를 instance로 쓰는 방법
import {useEffect, useState} from 'react';
import axios from "axios";
const client = axios.create({
baseURL:`https://jsonplaceholder.typecode.com`
headers:{
authorName:'hailie'
}
});
export default function App() => {
const [posts, setPosts] = useState([]);
useEffect(() => {
const getPosts = () => {
axios
.get(`/posts`)
.then((r) => setPosts(r?.data))
.catch((err) => console.log(err))
};
getPosts();
},[]);
return (
<div className='App'>
<h1>Axios Instance</h1>
<div>
{posts?.map((p) => (
<p>{p.title}</p>))}
</div>
</div>
)
}
참고)
https://pinokio0702.tistory.com/373
반응형
'🔬Computer Science > 네트워크' 카테고리의 다른 글
[TIL] TCP, UDP란? 인터넷 프로토콜 스택의 4계층 (0) | 2023.01.02 |
---|---|
[TIL] IP (인터넷 프로토콜)이란? HTTP 웹 기본 지식 (0) | 2023.01.02 |
AWS를 이용한 서버 배포 자동화 파이프라인 구축하기, EC2 기본 세팅부터, AWS로 서버 배포 (0) | 2022.08.09 |
GraphQL 구조 (0) | 2022.08.02 |
GraphQL이란, 특징, 장단점, REST API와 비교 (0) | 2022.08.02 |