강의

멘토링

커뮤니티

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

호롤롤로스님의 프로필 이미지
호롤롤로스

작성한 질문수

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

액션과 상태 정리하기

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 설정쪽도 문제일 수 있습니다.

호롤롤로스님의 프로필 이미지
호롤롤로스

작성한 질문수

질문하기