使用taro开发小程序时,初始化小程序
taro init myApp
选择redux组件。
可以看到redux中, store.js里使用的是redux-thunk管理异步
import {
createStore, applyMiddleware, compose } from 'redux'
import thunkMiddleware from 'redux-thunk'
import rootReducer from '../reducers'
const composeEnhancers =
typeof window === 'object' &&
window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ?
window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({
// Specify extension’s options like name, actionsBlacklist, actionsCreators, serialize...
}) : compose
const middlewares = [
thunkMiddleware
]
if (process.env.NODE_ENV === 'development') {
middlewares.push(require('redux-logger').createLogger())
}
const enhancer = composeEnhancers(
applyMiddleware(...middlewares),
// other store enhancers if any
)
export default function configStore () {
const store = createStore(rootReducer, enhancer)
return store
}
就将以上修改一下换成redux-saga
import {
createStore, applyMiddleware, compose } from 'redux';
import createSagaMiddleware, {
END } from 'redux-saga';
import rootReducer from '../reducers/index';
const composeEnhancers =
typeof window === 'object' &&
window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ?
window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({
// Specify extension’s options like name, actionsBlacklist, actionsCreators, serialize...
}) : compose
export default function configStore() {
const sagamiddleware = createSagaMiddleware();
const middlewares = [
sagamiddleware
]
if (process.env.NODE_ENV === 'development') {
middlewares.push(require('redux-logger').createLogger());
}
const store = createStore(rootReducer, composeEnhancers(applyMiddleware(...middlewares)));
store.runSaga = sagamiddleware.run
store.close =