useAxios란
먼저 axios란, 클라이언트가 웹서버에 사용자 요청의 목적/종류를 알리는 수단인 HTTP 메서드을 이용해 데이터 통신을 할 수 있는 라이브러리입니다.
HTTP 메서드에는 get,post,put,delete와 같이 많이 사용하는 메서드가 있습니다.
get
: 데이터를 조회할 때 사용합니다.
post
: 새로운 데이터를 추가할 때 사용합니다.
put
: 기존의 데이터를 수정할 때 사용합니다.
delete
: 기존의 데이터를 삭제할 때 사용합니다.
예를 들어, 새로운 데이터를 추가할 때는 axios 라이브러리를 사용하여 다음과 같이 작성합니다.
첫번째 인자는 url, 그리고 두 번째 인자는 headers와 추가할 데이터를 담은 객체형식의 데이터를 작성합니다.
https://jsonplaceholder.typicode.com/ 는 백엔드 서버가 없을때 임시로 가상 데이터를 만들어 api를 테스트 해볼 수 있는 사이트입니다. POST, PUT, PATCH, DELETE 요청은 실제로 이루어지지는 않지만 마치 가짜인 것 처럼 표시가되며, GET요청의 경우 https://jsonplaceholder.typicode.com/ 에서 제공하는 데이터를 가져올 수 있습니다.
만약, 다음과 같이 axios의 메서드를 적지 않는다면 기본적으로 get메소드가 실행되고
두번째 인자의 프로퍼티로 method를 작성하면 위와 동일한 결과값을 얻을 수 있습니다.
만약, API를 호출하는 코드가 여러 번 반복된다면 동일한 코드를 재사용할 수 있도록 만드는 커스텀 훅이 useAxios입니다.
그렇다면 다음 예제를 통해 useAxios를 사용하는 방법에 대해 알아보겠습니다.
- post 방식 새로운 게시글 추가 예제
App.jsx
- get 버전 게시글 목록 가져오는 예제
App.jsx
useAxios.jsx