본문 바로가기

Grew from/Trouble Shooting

Error: Actions must be plain objects. Use custom middleware for async actions.

커스텀 미들웨어 만드는걸 연습중 발생한 에러

영어만 읽어보고 리듀서쪽이 잘못된줄 알고봤는데 아무리 봐도 잘못한게 없었다.

뭐지? 싶었는데 디스패치에 액션생성 함수를 호출해서 결과를 넣지 않고 함수 참조 값을 넣어버렸다.

즉 호출되야 객체가 반환되서 plain object를 디스패치 할 수 있었을텐데 함수 객체가 들어와버렸으니 리듀서가 당황했나보다.

말이 어려웠나? 아래처럼 해야 된다는 이야기다.

사실 에러로그 밑의 스샷에 잘못된 부분이 나와있어서 바로 찾을수 있던거였는데, 에러 로그만 보고 스샷을 안본 스스로를 반성하려고 작성했다.

  const onIncrease = () => {
    // dispatch(increase);
    dispatch(increase());
  }