React

[React] store에서 Actions may not have an undefined "type" property 에러

bomoto 2022. 4. 20. 17:58

 

리듀서에 delete 하는 액션을 추가로 정의했는데 위와 같은 에러 메시지가 떴다.

아무리 살펴봐도 타이핑은 제대로 되어있었고 전혀 에러 날 부분이 없는데 왜 자꾸 misspelled 했다는 에러가 뜨는 건지 이해가 안 되었다.

 

<actionTypes.tsx>

(...)
export const DELETE_EMAIL = "DELETE_EMAIL";

 

<actions.tsx>

(...)
export const deleteEmail = (data) => ({
  type: types.DELETE_EMAIL,
  data,
});

 

<reducer.tsx>

const emailReducer = (state = email, action) => {
  switch (action.type) {
    (...)
    case types.ADD_EMAIL:
      return [...state, action.data];
    (...)
  }
};

 

 

위처럼 스토어 쪽에 전혀 문제가 없었는데

dispatch(actions.deleteEmail(email));  // 에러

dispatch({ type: "DELETE_EMAIL", data:email });  // 에러안남

위 코드처럼 계속 써오던 첫 번째 방식으로는 에러가 났고 두 번째 방식으로 변경하니까 에러가 안 났다.

그렇다면 액션 타입을 정의하는 쪽에서 문제가 생겼다는 건데..

 

혹시나 해서 터미널에 찍히는 내용을 보니까 내가 새롭게 정의한 delete액션이 actionTypes.tsx에 없는 것이었다.

 

그래서 프로젝트를 종료 후 재실행하니까 문제 해결....

하... 내 시간 ㅠㅠ

 

그렇지만 지금이라도 해결해서 다행이다!