处理本机的redux可观察项目(*叹气...)。
在商店的配置上,我似乎有一个错误,但是在我的一生中,我不知道为什么。
以下是配置文件:(其他所有东西都是标准的)
import { createStore, applyMiddleware } from 'redux'
import thunk from 'redux-thunk'
import logger from 'redux-logger'
import { createEpicMiddleware, ofType, combineEpics } from 'redux-observable'
import { composeWithDevTools } from 'redux-devtools-extension'
import { combineReducers } from 'redux'
import {
registerEmailEpic,
} from './actions'
import {
masterReducer
} from './reducers';
const rootReducers = combineReducers({ masterReducer });
const rootEpics = combineEpics(registerEmailEpic);
const epicMiddleware = createEpicMiddleware();
// App dev + prod middleware.
// The order matters.
let middleware = [
thunk,
epicMiddleware,
combineEpics,
ofType
];
if (__DEV__) {
const reduxImmutableStateInvariant = require('redux-immutable-state-invariant').default();
middleware = [...middleware, reduxImmutableStateInvariant, logger];
} else {
middleware = [...middleware];
}
export default function configureStore() {
const configuredStore = createStore(
rootReducers,
composeWithDevTools(applyMiddleware(...middleware))
);
epicMiddleware.run(rootEpics);
return configuredStore;
}
答案 0 :(得分:0)
这里的商店没什么问题,只是我们不需要在这里键入类型。
对于其他对此感到困扰的人,如果您使用的是TypeScript,则需要这样导入运算符:
因此,在使用map
或类似debounce
之类的地方,您需要这样导入它们:import { mapTo, delay } from 'rxjs/operators';
然后您可以像这样使用它们:
export const registerEmailEpic = (action$: any, state$: any): any => {
return action$.pipe(
ofType('PING'),
delay(1000), // Asynchronously wait 1000ms then continue
mapTo({ type: 'PONG' })
)
}