inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] React로 NodeBird SNS 만들기

사가 관련해서 질문있습니다.

266

hyunlove12

작성한 질문수 4

0

안녕하세요. 강의 수강 중 질문있어서 문의드립니다.

사가 이용하여 api를 호출하는데, 해당 api는 다른 state의 업데이트로 인하여 재 호출 되는 구조입니다.

따라서 페이지 진입 시 동시에 3번이 호출 되는데요,

function* loadMaxEpisode() {
try { // yield await와 비슷
const result = yield call(loadMaxEpisodeAPI); // call 은 동기식, fork.는 비동기
console.log(result)
alert(result.data.maxEpisode);
yield put({ // put dispatch -> , 액션을 dispatch한다.
type: LOAD_MAXEPISODE_SUCCESS,
data: result.data, // result로 하면 response값이 다 들어온다.
});
} catch (err) {
yield put({
type: LOAD_MAXEPISODE_FAILURE,
data: err.response,
})
}
}

위 코드에서 result.data의 값이 500이 들어오면

result.action을 찍으면 500500이라는 값으로 보여집니다.

(3번 호출 중 2개의 리스폰스 값이 위와 같이 합쳐서 보여지고, 나머지 하나는 정상인 500으로 반환됩니다.)

어느부분이 잘못 된 것인지 감이 안오네요...ㅠ

관련해서 어느 부분을 확인해 봐야할까요??

saga redux express nodejs react Next.js

답변 2

0

hyunlove12

안녕하세요. 강사님.

case LOAD_MAXEPISODE_REQUEST:
draft.loadMaxEpisodeLoading = true;
draft.loadMaxEpisodeDone = false;
draft.loadMaxEpisodeError = null;
break;
case LOAD_MAXEPISODE_SUCCESS:
draft.loadMaxEpisodeLoading = false;
draft.loadMaxEpisodeDone = true;
// alert(action.data);
draft.maxEpisode = parseInt(action.data);
break;
case LOAD_MAXEPISODE_FAILURE:
draft.loadMaxEpisodeLoading = false;
draft.loadMaxEpisodeError = action.error;
break;

function* watchLoadMaxEpisode() {
yield takeEvery(LOAD_MAXEPISODE_REQUEST, loadMaxEpisode);
}

리듀서 및 사가 부분입니다.

크롬 시크릿 모드에서 실행하니 정상으로 동작합니다. 

정확한 원인은 모르겠으나, 캐시 문제 떄문에 그런것이 아닌가 싶은데....

제가 조금 더 확인해보고 안 되면 다시 질문드리겠습니다.

감사합니다!

0

제로초(조현영)

result.data, result.action 은 직접 만드신 것이라 제가 파악이 안 됩니다. 리듀서 부분도 보여주셔야 할 것 같습니다.

넥스트 버젼 질문

0

90

2

로그인시 401 Unauthorized 오류가 뜹니다

0

104

1

무한 스크롤 중 스크롤 튐 현상

0

192

1

특정 페이지 접근을 막고 싶을 때

0

116

2

createGlobalStyle의 위치와 영향범위

0

102

2

인라인 스타일 리렌더링 관련

0

98

2

vsc 에서 npm init 설치시 오류

0

157

2

nextjs 15버전 사용 가능할까요?

0

166

1

화면 새로고침 문의

0

129

1

RTK에서 draft, state 차이가 있나요?

0

160

2

Next 14 사용해도 될까요?

0

455

1

next, node 버전 / 폴더 구조 질문 드립니다.

0

359

1

url 오류 질문있습니다

0

214

1

ssh xxxxx로 우분투에 들어가려니까 port 22: Connection timed out

0

391

1

sudo certbot --nginx 에러

0

1293

2

Minified React error 콘솔에러 (hydrate)

0

477

1

카카오 공유했을 때 이전에 작성했던 글이 나오는 버그

0

255

1

프론트서버 배포 후 EADDRINUSE에러 발생

0

337

1

npm run build 에러

0

525

1

front 서버 npm run build 중에 발생한 에러들

0

399

1

서버 실행하고 브라우저로 들어갔을때 404에러

0

350

2

css 서버사이드 랜더링이 적용되지 않아서 문의 드립니다.

0

290

1

팔로워 3명씩 불러오고 데이터 합쳐주는걸로 바꾸고 서버요청을 무한으로하고있습니다.

0

249

2

해시태그 검색에서 throttle에 관해 질문있습니다.

0

206

1