답변 감사합니다
알려주신대로 하니까 일단 에러 메세지를 얻어올수 있었어여
에러 메세지를 스테이트 변수에 저장하고 그리고 알림 메세지가
한번만 출력되도록 하기 위해 아래처럼 고쳤습니다
292
작성한 질문수 162
안녕하세요 zerocho 님
질문이 있습니다.
현재 라우터 로직의 403 에러에 해당할 경우 (본인의 글을 리트윗 하거나 이미 리트윗한 글을 리트윗할때) 아래와 같이 응답을 하는데
if (!post) {
return res.status(403).send('존재하지 않는 게시글입니다.');
}
if (req.user.id === post.UserId || (post.Retweet && post.Retweet.UserId === req.user.id)) {
return res.status(403).send('자신의 글은 리트윗할 수 없습니다.');
}
function retweetAPI(data) {
console.log("data : ", data);
return axios.post(`/post/${data}/retweet`);
}
function* retweet(action) {
console.log("saga 실행 확인");
try {
console.log("retweetAPI 호출 before");
const result = yield call(retweetAPI, action.data);
console.log("retweetAPI 호출 after");
console.log("result : ", result);
yield put({
type: RETWEET_SUCCESS,
data: result.data,
});
} catch (err) {
console.error("retweet error from saga : ", err);
yield put({
type: RETWEET_FAILURE,
error: err,
});
}
}
case RETWEET_FAILURE:
draft.retweetLoading = false;
draft.retweetError = action.error.message;
break;
const onRetweet = useCallback(() => {
if (!id) {
return alert('로그인이 필요합니다.');
}
dispatch({
type: RETWEET_REQUEST,
data: post.id,
});
alert("retweetError : " + retweetError)
if (retweetError != "") {
notification.open({
message: '알림 메세지',
description:
'본인의 글은 리트윗할수 없습니다 : ', retweetError,
onClick: () => {
console.log('Notification Clicked!');
},
});
}
}, [id]);
return res.status(403).send('자신의 글은 리트윗할 수 없습니다.');
답변 3
1
답변 감사합니다
알려주신대로 하니까 일단 에러 메세지를 얻어올수 있었어여
에러 메세지를 스테이트 변수에 저장하고 그리고 알림 메세지가
한번만 출력되도록 하기 위해 아래처럼 고쳤습니다
1
yield call에서 403에러가 나면 바로 catch로 갑니다. retweet after가 안 실행되는 게 당연합니다.
draft.retweetError = action.error.response.data로 해보세요.
넥스트 버젼 질문
0
77
2
로그인시 401 Unauthorized 오류가 뜹니다
0
89
1
무한 스크롤 중 스크롤 튐 현상
0
174
1
특정 페이지 접근을 막고 싶을 때
0
103
2
createGlobalStyle의 위치와 영향범위
0
96
2
인라인 스타일 리렌더링 관련
0
91
2
vsc 에서 npm init 설치시 오류
0
146
2
nextjs 15버전 사용 가능할까요?
0
158
1
화면 새로고침 문의
0
121
1
RTK에서 draft, state 차이가 있나요?
0
153
2
Next 14 사용해도 될까요?
0
452
1
next, node 버전 / 폴더 구조 질문 드립니다.
0
349
1
url 오류 질문있습니다
0
211
1
ssh xxxxx로 우분투에 들어가려니까 port 22: Connection timed out
0
372
1
sudo certbot --nginx 에러
0
1274
2
Minified React error 콘솔에러 (hydrate)
0
469
1
카카오 공유했을 때 이전에 작성했던 글이 나오는 버그
0
247
1
프론트서버 배포 후 EADDRINUSE에러 발생
0
326
1
npm run build 에러
0
518
1
front 서버 npm run build 중에 발생한 에러들
0
381
1
서버 실행하고 브라우저로 들어갔을때 404에러
0
338
2
css 서버사이드 랜더링이 적용되지 않아서 문의 드립니다.
0
287
1
팔로워 3명씩 불러오고 데이터 합쳐주는걸로 바꾸고 서버요청을 무한으로하고있습니다.
0
237
2
해시태그 검색에서 throttle에 관해 질문있습니다.
0
201
1