我正在尝试通过使用createStandardAction(typesafe-actions)调度一个动作,然后将其转到epic(redux-observable)进行api调用。奇怪的是,它可以完美地与存根数据一起使用,可以完成流程(例如,component-> action-> epic-> reducer-> store),但是在实际服务器上使用该动作时,它不会触发或进入史诗
**Component:-**
export const mapDispatchToProps = (dispatch: Dispatch): ReduxActions => ({
loadTestData: () => dispatch(loadTestData())
})
export default connect(
mapStateToProps,
mapDispatchToProps
)(withNavigation(loadData))
**Action**
import { ActionsUnion, createStandardAction } from 'typesafe-actions'
export const LOADDATA_GET = 'LOADDATA_GET'
export const loadData = createStandardAction(LOADDATA_GET)<void>()
const actions = {
loadData
}
export type AllActions = ActionsUnion<typeof actions>
**Epic**
import { Action, MiddlewareAPI } from 'redux'
import { ActionsObservable, Epic } from 'redux-observable'
import { Observable } from 'rxjs'
import {
LOADDATA_GET
} from './loadData.actions'
export const getloadDataEpic: Epic<Action, ReduxState> = (
action$: ActionsObservable<any>,
store: MiddlewareAPI<any, ReduxState>,
{ mobileAPI }: EpicDependencies
) =>
action$
.ofType(LOADDATA_GET)
.mergeMap((action) => {
return Observable.merge(
mobileAPI
.getJSON('/dummypath/loadData')
.mergeMap((response) => {
return Observable.of<any>(
setLoadData(response)
)
})
)}
)
.catch((error) => {
return Observable.of(errorAction(error))
})
我真的很困惑,为什么对于实际的服务器而言,流程不会变成史诗般的,而对于本地json数据和虚拟路径却起作用呢?>
我正在尝试通过使用createStandardAction(typesafe-actions)调度一个动作,然后将其转到epic(redux-observable)进行api调用。奇怪的是,它可以与存根完美配合...
问题已解决,服务器端存在一些数据映射问题