강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

쵸잉님의 프로필 이미지
쵸잉

작성한 질문수

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

바뀐 상태 적용하고 eslint 점검하기

saga 제너레이터 함수에서 catch를 탔을때

작성

·

147

0

function *addPost(action){
    try{
        yield delay(2000);
        const result = yield call(addPostAPI,action.data);
        yield put({
            type:"ADD_POST_SUCCESS",
            data:result.data
        });
    }catch (err) {
        yield put({
            type:"ADD_POST_FAILURE",
            data:err.response.data
        });
    }
}

이런식으로 addPost 가 있고 실제로 axios 로 네트워크 요청하게하면 오류가 떠서 catch 로 갈수도 있는데 이때 보통 어떤식으로 처리하나요?

reducer 에서 initialState 에는 logInError 가 있는데 UserProfile.js에서는 loginError 관련 처리가 없는것같아서요

답변 1

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

ADD_POST_FAILURE 리듀서에서 받은 action.data(에러 내용)를 리덕스에 저장하고, 컴포넌트에서는 에러 데이터를 useEffect로 감시하고 있다가 에러 데이터가 발생하면 그에 따라 처리합니다.

쵸잉님의 프로필 이미지
쵸잉

작성한 질문수

질문하기