client에서 요청을 보낼 시점에 토큰이 만료된 상황
상태 | 리팩토링 이전 | 리팩토링 이후 |
---|---|---|
서버에서 만료된 토큰임을 알림 | 토큰을 갱신하는 페이지로 보냄 | 토큰 갱신 시도 |
토큰 갱신 성공시 | 이전에 있던 페이지로 보냄 | 데이터 재요청 |
토큰 갱신 실패시 | 로그인 화면으로 보냄 | 로그인 화면으로 보냄 |
토큰 갱신시 페이지의 변화 | 일어남 | 일어나지 않음 |
데이터 재요청 | 사용자가 작업을 다시 시도 해야함 | 자동으로 재요청됨 |
효과
# 어떤 요청을 보낼지에 대한 정보를 인자로 넣는다.
1. method : GET/POST
2. endpoint : 요청 url
3. data : 선택
⬇️
\ /
+----+ +-----------+
| |
| useRequestAuth |
| |
+-----------+ +----+
/ \
⬇️
1. request: 요청을 시작할 함수
2. res : 응답 데이터
3. isSuccess : 성공여부
# 응답데이터를 받을 수 있다.
useCallback
으로 생성되는 함수 2개request
, renewToken
state
res
, isSuccess
, renewRes
, renewState
useEffect
로 감싸진 함수 2개object
: 응답에 성공한 경우(응답 데이터는 없을 수 있음)null
: 응답에 실패한 경우function
: 이 함수를 호출하면 요청이 시작됨true
: 요청 성공false
: 요청 실패