인프런 커뮤니티 질문&답변
TypeError : Cannot read property type of undefined
작성
·
506
0
reducer 파일에서 swtich(action.type) 부분에 property가 정의되어 있지 않다는 에러가 자꾸 뜹니다...
-----------------------------------------------------------------------------------------------------------------------------
혹시나 action객체가 비어있나 싶어서 위에 이미지 처럼 rootReducer 안에다가 로그 찍어보니까 아래처럼 나오더라고요.
분명 action객체 안에 type이 정의되어있는데 왜 undefined가 나오는지 의문입니다.
에러가 발생한 reducers/index.js의 코드는 아래와 같습니다.
import { HYDRATE } from 'next-redux-wrapper';
import { combineReducers } from 'redux';
import user from './user';
import post from './post';
// 1. state를 바꾸고 싶을 때마다 action을 만들고,
// 3. aync action creater
//
// 2. 매번 state값을 바꿔줄 수도 있는 부분은
// 함수로 뽑아내서 동적데이터 집어넣어서 처리할 수 있음!
// (이전상태, 액션) => 다음 상태
const rootReducer = combineReducers({
index: (state = {}, action) => {
switch (action.type) {
case HYDRATE:
console.log('HYDRATE', action);
return { ...state, ...action.payload };
default:
return state;
}
},
user,
post,
});
export default rootReducer;
답변 1
0
제로초(조현영)
지식공유자
에러메시지 해석을 잘못하셨는데요. action이 undefined인 겁니다.
dispatch(액션)을 하실텐데 거기서 action을 undefined를 넣으셨습니다. dispatch쪽을 살펴보세요.
아니면 probe_unknown_action으로 보아서는 store/configureStore.js 설정쪽도 문제일 수 있습니다.




