client/mystackoverflow

[error] TypeError: Cannot read property 'isLoggedIn' of undefined (feat. redux initialState )

growww 2022. 3. 26. 00:44

# 내용

 

redux 에 initialState 선언 후 컴포넌트에서 사용시 아래와 같은 오류가 남 (아래 소스 참고)

 

Server Error
TypeError: Cannot read property 'isLoggedIn' of undefined

 

# 원인

 

redux 용 reducer 처리를 잘못했다.

최초에 초기화 할 때 root reducer가 실행되는데 이때 default 가 수행 되며, 

state를 반환해주어야 undefined 가 발생하지 않는다.

(state = initialState)

 

 

# 해결법

 

const rootReducer = (state = initialState, action) => {
    switch (action.type){
        case HYDRATE:
           ...
        default:
            // return ''; // 잘못된 코드
            return state; // reducer 초기화할때 default 실행되며 initialStated 실행됨
    }
};