HTTP 클라이언트 라이브러리로 비동기 방식으로 HTTP 데이터 요청을 진행한다.
비동기이기 때문에 이를 처리할 수 있는 async, await를 같이 쓴다.
axios는 내부적으로 XMLHttpRequest를 다루지 않고 AJAX 호출이 가능.
fetch
와 axios
둘다 결국에는 서버와 통신하기 위해 사용하는 방법 중 하나일 뿐이다. 기능적으로는 동일하지만, 사용하는 방식이 다르다. 지난번엔 fetch를 사용해서, 이번에는 axios를 사용해봤는데 둘다 사용해보고 비교해보니 axios가 조금은 더 편한 것 같다.
fetch(API, {
headers: {
Authorization: sessionStorage.getItem("access_token"),
},
})
.then((res) => res.json())
.then((res) => {
this.setState({
stateName: res.data;
});
});
}
axios.get(API, {
headers: {
"Content-Type": "application/json",
Authorization: response.access_token,
},
})
.then((res) => {
this.setState({
stateName: res.data.data;
});
});
위 두개는 각각 fetch와 axios를 통해 headers에 정보를 담아 서버에 보내주는 것이다.