加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angular – 在ngrx(使用ngrx / effects)中,如何检索新创建的项目

发布时间:2020-12-17 17:30:14 所属栏目:安全 来源:网络整理
导读:假设您通过从BookComponent调度CREATE_BOOK操作来创建新Book.在效果中,我们正在处理http保存,之后我们通过CREATE_BOOK_SUCCESS操作将创建的Book传递给reducer.到现在为止还挺好. 但是如何获得产生CREATE_BOOK操作的BookComponent中新创建的Book的ID?我只能
假设您通过从BookComponent调度CREATE_BOOK操作来创建新Book.在效果中,我们正在处理http保存,之后我们通过CREATE_BOOK_SUCCESS操作将创建的Book传递给reducer.到现在为止还挺好.

但是如何获得产生CREATE_BOOK操作的BookComponent中新创建的Book的ID?我只能想到解决方法:

>将创建的书籍保存在状态lastCreatedBook中.如果我有很多不同的项目,这似乎不可扩展.此外,我必须在组件被销毁时清理该字段.
>检索BookComponent中的完整书籍列表.最后一个是创建的书.
>不要使用ngrx /效果.只需调用BookService.create()方法并订阅它.从那里调度CREATE_BOOK_SUCCESS操作.但那么为什么首先使用效果呢?

解决方法

您不能直接让组件知道已创建的ID,因为您必须遵循redux的单向数据流.

如果你真的想在某个地方使用ID,你可以像你提到的那样将它存储在你的商店状态中,或者创建ID客户端.

如果要在列表中的某处突出显示已创建的书籍,可以实现* ngFor指令的trackBy function并在新创建的项目上创建动画.

如需更多效果,请查看Start using ngrx/effects for this

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读