NgRx:访问效果内的动作属性

问题描述 投票:-1回答:1

((edit)找出了问题所在,如果遇到类似问题,请参见评论。

我正在学习ngrx,遇到了一些奇怪的事情。当我尝试通过给定操作访问属性时,它们不在属性的键下。而是使用键0显示。值“ 1”是正确的,但是基于0的引用似乎不像基于预期属性的引用那样可读...我是否缺少通过action.userId访问的方法?

这是操作的控制台日志:

{0: "1", type: "[User] Get User"}

创建的动作:

export const getUser = createAction(
'[User] Get User',
props<{userId: number}>()

);

效果代码的重要部分:

getUser$ = createEffect(() => this._actions$.pipe(
    ofType(getUser),
    map(action => { console.log(action); console.log(action.userId); action.userId}),

发件地点:

this._store.dispatch(getUser(this._route.snapshot.params.id));
ngrx ngrx-effects
1个回答
0
投票

official docs中所述,为此操作:

export const getUser = createAction(
  '[User] Get User',
  props<{ userId: number }>()
);

分发它的正确语法应该是:

this._store.dispatch(getUser({ userId: this._route.snapshot.params.id }));

createAction创建一个getUser动作创建者,该动作创建者使用object函数中提供的相同类型的props

© www.soinside.com 2019 - 2024. All rights reserved.