Skip to content

Commit 125a4bd

Browse files
authored
hotfix: 로그인 세션이 만료되었을때 홈화면에 글 리스트가 나오지 않는 이슈 수정 (#714)
* hotfix: 로그인 세션이 만료되었을때 홈화면에 글 리스트가 나오지 않는 이슈 수정 * feat: unauthorization error 처리 로직을 useStudylog로 이동한다 * feat: unauthorization 에러시에 alert를 추가한다
1 parent 72ded70 commit 125a4bd

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

frontend/src/hooks/useStudylog.js

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
import { useState } from 'react';
1+
import { useContext, useState } from 'react';
2+
3+
import { UserContext } from '../contexts/UserProvider';
24
import { ERROR_MESSAGE } from '../constants/message';
35
import {
46
requestGetStudylog,
@@ -7,17 +9,26 @@ import {
79
requestEditStudylog,
810
} from '../service/requests';
911
import useMutation from './useMutation';
12+
import ERROR_CODE from '../constants/errorCode';
1013

1114
const useStudylog = (defaultValue) => {
1215
const [response, setResponse] = useState(defaultValue);
1316
const [error, setError] = useState('');
1417

18+
const { onLogout } = useContext(UserContext)
19+
1520
const onSuccess = (data) => {
1621
setResponse(data);
22+
setError('');
1723
};
1824

1925
const onError = (error) => {
2026
console.error(error);
27+
28+
if (error.code === ERROR_CODE.EXPIRED_ACCESS_TOKEN) {
29+
onLogout();
30+
}
31+
2132
setError(ERROR_MESSAGE[error.code] ?? ERROR_MESSAGE.DEFAULT);
2233
};
2334

frontend/src/pages/MainPage/index.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,18 @@ import { UserContext } from '../../contexts/UserProvider';
1414
const MainPage = () => {
1515
const { user } = useContext(UserContext);
1616
const { accessToken } = user;
17-
const { response: recentStudylogs, getAllData: fetchRecentStudylogs } = useStudylog([]);
17+
const { response: recentStudylogs, error: recentStudylogsError, getAllData: fetchRecentStudylogs } = useStudylog([]);
1818

1919
useEffect(() => {
2020
fetchRecentStudylogs({ query: { type: 'searchParams', data: 'size=3' }, accessToken });
2121
}, [accessToken]);
2222

23+
useEffect(() => {
24+
if (recentStudylogsError) {
25+
alert(recentStudylogsError)
26+
}
27+
}, [recentStudylogsError])
28+
2329
return (
2430
<>
2531
<BannerList bannerList={bannerList} />

0 commit comments

Comments
 (0)