Javascript/React

[React] axios instance 만들어서 사용하기

eulBlue 2024. 4. 5. 09:04

📱테스트 환경

"react": "18.2.0"
"react-dom": "18.2.0"
"typescript": "^4.9.5"

서버와 통신하기 위해서 axios 사용하고 있었는데, 기존에는 그냥 GET, POST, PUT, DELETE 를 바로바로 사용했는데

그게아니라 인스턴스를 만들어서 재사용성을 높일 수 있도록 하기 위해서 리팩토링을 진행하였다.

만드는 방법은 아주 간단하다.

axios.tsx

export const axiosInstance = axios.create({
    baseURL: BACKEND_API_ADRSS,
    timeout: 10000,
});

.env 에 설정되어있는 BACKEND_API_ADRESS 를 baseURL 에 지정해놓고, timeout 은 10000초로 지정해놓았다.

이외에도 기본적인 data 나 여러 설정들을 기본으로 세팅해놓을 수 있다.

이렇게 해놓고 사용할때는

await axiosInstance.get(`/${id}`).then(res => {
    return res
});

이런식으로 해서 인스턴스를 호출해서 사용해주면 된다.

아주 간단할 뿐만 아니라 재사용성을 높일 수 있고 코드 가독성을 높일 수 있기 때문에

이렇게 사용하는 것을 선호할 뿐만 아니라 권장하고있다!