-
카테고리
-
세부 분야
풀스택
-
해결 여부
미해결
redux-promise 적용에 대하여 질문올립니다
21.02.26 12:54 작성 조회수 235
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');
});
};
답변을 작성해보세요.
0
0
싸플
지식공유자2021.02.28
redux-promise는 사용해보지 않아 잘은 모르겠지만...
일단 해당 사용법을 보니 saga 처럼 dispatch 하는 건 아닌 것 같습니다.
https://github.com/redux-utilities/redux-actions
redux promise는 redux action을 사용한다고 하니 참고해보시기 바랍니다. ^^;
답변 2