首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角为2 RC5的ngrx

角为2 RC5的ngrx
EN

Stack Overflow用户
提问于 2016-08-15 09:53:30
回答 1查看 301关注 0票数 2

我试图在RC5中使用ngrx,但是我得到了一些有线行为。状态更改由ngrx日志监视器正确捕获,但不会发送给我的订阅者。

但是,一旦我改变了页面(我使用的是@角形/路由器3),我所有的状态更改就会一个接一个地发送给订阅者。

下面是代码的示例

代码语言:javascript
复制
    ngOnInit() {
      this._store.dispatch(this._mediaActions.load());
      this._positionListener = this._store
        .let(getMediaFolderContent())
        .subscribe(a => this.position = a);

      this._store.let(getMediaFolderContent()).subscribe(a => console.log(a));
      this._store.select(s => s.media).subscribe(a => console.log('just a test: ', a));
    }

当我第一次导航到页面时,我得到了最新的状态,但是没有捕获后续的更改。然后,一旦我导航到页面,就会得到状态更改。

我知道这段代码不足以回答一个有效的问题,但是有这么多的代码,我不知道从哪里开始复制所有的代码。我只是想知道有人在RC5中处理过类似的问题。

在迁移到RC5之前,所有的代码都可以工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-15 13:26:46

我已经解决了。我希望这能帮上忙。

所以问题就在我的减速器上,我要做的是:

代码语言:javascript
复制
return Object.assign(state, {something: 'something'}

但是,只有当我创建一个新对象时,状态更改才会被发出。所以我要做的就是像这样改变任务:

代码语言:javascript
复制
return Object.assign({}, state, {something: 'something'}

谢谢你@有线程序员为我指明了正确的方向。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38952911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档