-
카테고리
-
세부 분야
풀스택
-
해결 여부
미해결
saga 제너레이터 함수에서 catch를 탔을때
21.12.27 17:31 작성 조회수 83
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
조현영
지식공유자2021.12.27
ADD_POST_FAILURE 리듀서에서 받은 action.data(에러 내용)를 리덕스에 저장하고, 컴포넌트에서는 에러 데이터를 useEffect로 감시하고 있다가 에러 데이터가 발생하면 그에 따라 처리합니다.
답변 1