ngrx/效果开关图不再在Angular2 RC5中工作

ngrx/效果开关图不再在Angular2 RC5中工作,angular,ngrx,Angular,Ngrx,我在Angular2应用程序中使用ngrx/effects,自RC5发布以来,我收到了一些错误。这是我的代码: import { Injectable } from '@angular/core'; import { Effect, Actions } from '@ngrx/effects'; import { UserActions } from './user.actions'; import { LoginService } from '../login'; constructor(

我在Angular2应用程序中使用ngrx/effects,自RC5发布以来,我收到了一些错误。这是我的代码:

import { Injectable } from '@angular/core';
import { Effect, Actions } from '@ngrx/effects';
import { UserActions } from './user.actions';
import { LoginService } from '../login';

constructor(
  private updates$: Actions,
  private userActions: UserActions,
  private loginService: LoginService
) {}

@Effect() loadUser$ = this.updates$
  .ofType(UserActions.LOAD)
  .switchMap(() => this.loginService.loadUserData())
  .map(user => this.userActions.loadUserComplete(user.userData));
上述代码在Angular2 RC4和ngrx/effects 1.1.1中运行良好

但当我将Angular升级到RC5时,我得到了一个错误:
未处理的承诺拒绝:this.updates$.ofType(…)。switchMap不是一个函数

然后,我将ngrx/effects升级到最新版本2.0.0-beta.2(根据文档,该版本应为新RC5 NgModule定制),但得到与上述完全相同的错误。是的,我在这一步中将
whenAction()
函数更改为
ofType()


有什么想法吗?

在angular 2项目中不会自动导入所有RxJS操作符。您是否尝试手动导入
switchMap
操作符

import 'rxjs/add/operator/switchMap';

这必须存在于您的代码中的某个地方,可能是由第三方库导入的,在此之前,该库不再导入运算符。

使用
从'rxjs/operators'导入{switchMap}

为我工作!这使用的是6.4.0版

我有这个导入,但是我得到一个错误,说
属性“switchMap”在类型Observable上不存在