让简单的史诗在 redux-observable 中工作
Getting simple epic working in redux-observable
尝试使用 redux-observable
但 运行 实现我的第一个简单 epic
分为两个问题:
- 在我达到我的断点后,我得到一个错误 "Cannot read property 'closed' of undefined" 然后我没有在我的
epic
中达到断点 - 见下文
- 一旦我点击
epic
,我想 dispatch
myAction
这是一个动作创作者。不确定如何添加 dispatch
。最初,我没有添加任何东西并得到了 dispatch not defined 错误。然后我注意到我的 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!"))
})
)
我做错了什么?
Epics 不 dispatch
行动,他们 emit
行动。 redux-observable
负责调度从您的 epics 发出的操作。基本的史诗结构应该是这样的:
export const mySimpleEpic = action$ =>
action$
.ofType(types.SOMETHING_HAS_HAPPENED)
.map(() => myAction("Hello World!"));
尝试使用 redux-observable
但 运行 实现我的第一个简单 epic
分为两个问题:
- 在我达到我的断点后,我得到一个错误 "Cannot read property 'closed' of undefined" 然后我没有在我的
epic
中达到断点 - 见下文 - 一旦我点击
epic
,我想dispatch
myAction
这是一个动作创作者。不确定如何添加dispatch
。最初,我没有添加任何东西并得到了 dispatch not defined 错误。然后我注意到我的 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!"))
})
)
我做错了什么?
Epics 不 dispatch
行动,他们 emit
行动。 redux-observable
负责调度从您的 epics 发出的操作。基本的史诗结构应该是这样的:
export const mySimpleEpic = action$ =>
action$
.ofType(types.SOMETHING_HAS_HAPPENED)
.map(() => myAction("Hello World!"));