无法阅读属性'键入'未定义的(ngrx)

时间:2016-09-29 18:10:41

标签: angular typescript rxjs5 ngrx

我正在使用ngrx。我收到了错误

  

无法读取属性'键入'未定义的

这是我的代码的一部分:

@Effect() foo$ = this.actions$
    .ofType(Actions.FOO)
    .withLatestFrom(this.store, (action, state) => ({ action, state }))
    .map(({ action, state }) => {
      if (state.foo.isCool) {
        return { type: Actions.BAR };
      }
    });

1 个答案:

答案 0 :(得分:5)

这个问题有点棘手,因为根据错误找到问题并不容易。

在这种情况下,当state.foo.isCoolfalse时,不会返回任何操作。

因此,改变这样的事情将解决问题:

@Effect() foo$ = this.actions$
    .ofType(Actions.FOO)
    .withLatestFrom(this.store, (action, state) => ({ action, state }))
    .map(({ action, state }) => {
      if (state.foo.isCool) {
        return { type: Actions.BAR };
      }

      return { type: Actions.SOMETHING_ELSE };
    });