如何使用 redux saga 运行 redux devtools?
How to run redux devtools with redux saga?
尝试 运行 reduxdevtools 与 redux saga:
出现此错误:
Error
Before running a Saga, you must mount the Saga middleware on the Store using applyMiddleware
这是我的jscode:
const store = createStore(
reducer,
applyMiddleware(sagaMiddleware),
window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
);
我如何 运行 这个 devtool with saga?或者,否则会有什么用?
codepen
我用过redux-devtools-extension package as described here, redux-devtools-extension documentation.
添加包后,我将商店定义替换为:
const store = createStore(
reducer,
composeWithDevTools(
applyMiddleware(sagaMiddleware)
)
);
之前的回答(来自 trkaplan)使用了来自 'redux-devtools-extension' 包的导入方法 composeWithDevTools。
如果你不想安装这个包,你可以使用这个代码(基于the docs):
const composeEnhancers = typeof window === 'object' && window['__REDUX_DEVTOOLS_EXTENSION_COMPOSE__'] ?
window['__REDUX_DEVTOOLS_EXTENSION_COMPOSE__']({ }) : compose;
const enhancer = composeEnhancers(
applyMiddleware(thunkMiddleware, sagaMiddleware, /*other middleware*/),
/* other store enhancers if any */
);
const emptyReducer = () => {};
const store = createStore(emptyReducer, enhancer);
Incase Compose of Redux 被使用。然后下面的代码很有用。
第 1 步:添加 chrome Redux DevTools 扩展。
第 2 步:npm 安装 redux-devtools-extension。
import { composeWithDevTools } from 'redux-devtools-extension';
const store = createStore(
reducer,
compose(
applyMiddleware(sagaMiddleware),
composeWithDevTools(),
),
);
这就是您为实际项目配置 redux、redux-devtool-extension 和 redux-saga 的方式..
import { createStore, applyMiddleware } from 'redux';
import { composeWithDevTools } from 'redux-devtools-extension';
import createSagaMiddleware from 'redux-saga';
import rootReducer from '../reducers';
import rootSaga from '../sagas';
const configureStore = () => {
const sagaMiddleware = createSagaMiddleware();
return {
...createStore(rootReducer, composeWithDevTools(applyMiddleware(sagaMiddleware))),
runSaga: sagaMiddleware.run(rootSaga),
};
};
export default configureStore;
尝试 运行 reduxdevtools 与 redux saga:
出现此错误:
Error
Before running a Saga, you must mount the Saga middleware on the Store using applyMiddleware
这是我的jscode:
const store = createStore(
reducer,
applyMiddleware(sagaMiddleware),
window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
);
我如何 运行 这个 devtool with saga?或者,否则会有什么用? codepen
我用过redux-devtools-extension package as described here, redux-devtools-extension documentation.
添加包后,我将商店定义替换为:
const store = createStore(
reducer,
composeWithDevTools(
applyMiddleware(sagaMiddleware)
)
);
之前的回答(来自 trkaplan)使用了来自 'redux-devtools-extension' 包的导入方法 composeWithDevTools。 如果你不想安装这个包,你可以使用这个代码(基于the docs):
const composeEnhancers = typeof window === 'object' && window['__REDUX_DEVTOOLS_EXTENSION_COMPOSE__'] ?
window['__REDUX_DEVTOOLS_EXTENSION_COMPOSE__']({ }) : compose;
const enhancer = composeEnhancers(
applyMiddleware(thunkMiddleware, sagaMiddleware, /*other middleware*/),
/* other store enhancers if any */
);
const emptyReducer = () => {};
const store = createStore(emptyReducer, enhancer);
Incase Compose of Redux 被使用。然后下面的代码很有用。 第 1 步:添加 chrome Redux DevTools 扩展。 第 2 步:npm 安装 redux-devtools-extension。
import { composeWithDevTools } from 'redux-devtools-extension';
const store = createStore(
reducer,
compose(
applyMiddleware(sagaMiddleware),
composeWithDevTools(),
),
);
这就是您为实际项目配置 redux、redux-devtool-extension 和 redux-saga 的方式..
import { createStore, applyMiddleware } from 'redux';
import { composeWithDevTools } from 'redux-devtools-extension';
import createSagaMiddleware from 'redux-saga';
import rootReducer from '../reducers';
import rootSaga from '../sagas';
const configureStore = () => {
const sagaMiddleware = createSagaMiddleware();
return {
...createStore(rootReducer, composeWithDevTools(applyMiddleware(sagaMiddleware))),
runSaga: sagaMiddleware.run(rootSaga),
};
};
export default configureStore;