인프런 커뮤니티 질문&답변
redux-promise 적용에 대하여 질문올립니다
작성
·
328
0
안녕하세요. 제가 강의의 내용을 응용해보고 싶어서 redux-promise을 통해 적용해보고자 했는데
간단한 실험을 해보니
TypeError: dispatch(...).then is not a function
계속 위의 에러가 뜨면서 안되네요..
일단 아래와 같이 redux-promise을 적용해보았습니다.
뭐가 문제일까용...
import { createStore, compose, applyMiddleware } from 'redux';
import createSagaMiddleware from 'redux-saga';
import { createBrowserHistory } from 'history';
import { routerMiddleware } from 'connected-react-router';
import promiseMiddleware from 'redux-promise';
import createRootReducer from './redux/reducers/index';
import rootSaga from './redux/sagas'
export const history = createBrowserHistory();
const sagaMiddleware = createSagaMiddleware();
const initialState = {} // state 초기값
const middlewares = [sagaMiddleware, routerMiddleware(history), promiseMiddleware]
const devtools = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;
const composeEnhancer =
  process.env.NODE_ENV === "production" ? compose : devtools || compose;
  //createStore안에 있는 3개를 합쳐 store을 만들어주는 것
const store = createStore(
  createRootReducer(history),
  initialState,
  composeEnhancer(applyMiddleware(...middlewares))
);
//saga 미들웨어 작동하기 위한 것
sagaMiddleware.run(rootSaga);
////////////////////////
아래는 redux-promise가 되는지 실험해본 코드입니다.
AppNavbar의 로그인 전송버튼입니다.
export default store;
const onSubmit = (e) => {
    e.preventDefault();
    const { email, password } = form;
    const user = { email, password };
    console.log(user);
    dispatch({
      type: LOGIN_REQUEST,
      payload: user,
    }).then(() => {
      console.log('Test');
    });
 };






