尝试使用epic
实现我的第一个简单的redux-observable
,但是遇到两个问题:
epic
中的断点,请参见{ 3}} epic
,我想dispatch
myAction
是动作创造者。不确定如何添加dispatch
。最初,我没有添加任何东西,并且得到调度未定义的错误。然后我注意到我的IDE自动添加了import { dispatch } from 'rxjs/internal/observable/pairs';
。不知道这是否是将dispatch
添加到我的epic
的方法。这也可能是错误的原因。在执行特定操作时,我最初是在击中epic
的事实,这告诉我它已成功添加到中间件管道中,但是显然有些不正确。
这是我的史诗般的样子:
import { Observable } from 'rxjs';
import { ofType } from 'redux-observable';
import { filter, map, mapTo } from 'rxjs/operators';
import { dispatch } from 'rxjs/internal/observable/pairs'; // ??? Is this how I access dispatch?
import * as types from '../../actions/action-types';
import { myAction} from '../../actions/my-actions';
export const mySimpleEpic = (action$, state$) => action$.pipe(
ofType(types.SOMETHING_HAS_HAPPENED),
map(() => {
debugger
dispatch(myAction("Hello World!"))
})
)
我在做什么错了?
答案 0 :(得分:1)
史诗级人物不会dispatch
个动作,而是emit
个动作。 redux-observable
负责调度您的史诗发出的动作。史诗的基本结构应类似于:
export const mySimpleEpic = action$ =>
action$
.ofType(types.SOMETHING_HAS_HAPPENED)
.map(() => myAction("Hello World!"));