• Reducer: 纯粹的函数,接收当前状态,以及最新的action,计算出最新的action.
  • selector: 纯函数,用于select,derive和compose pieces of state

Store和State的区别

State is accessed with the store, an observable of state and an observer of actions.

Store是state和action的Observable.

reducer第一次被系统调用:@ngrx/store/update-reducers:

type:@ngrx/store/update-reducers
store也是一个Observable:

上一次的action:

store的source字段里,根据feature名称example找到state初始值0:

下面再观察store.select的执行:



source$就是应用的this.store:


this.store.select返回一个新的Observable对象,也是一个store:

点了UI add按钮后:

store.dispatch:

store->BehaviorSubject:

只取出observers对象:



scheduler.js:

注意,一旦调用了flush方法之后,我们的reducer被回调:

action导致counter值变为1之后,需要通知subscriber:



要获取更多Jerry的原创文章,请关注公众号"汪子熙":

Angular reducer第一次被框架调用的单步调试细节相关推荐

  1. Angular应用i18n - internationalization翻译的实现单步调试

    translate方法是入口: this.i18next.t是Angular lib的实现: this.resolve方法一旦执行完毕后,resolved存储的就是翻译后的结果: 默认的languag ...

  2. SAP ABAP 服务器上OData Gateway 框架代码的单步调试

    Created by Wang, Jerry, last modified on Jan 17, 2015

  3. 自已编写C# DLL 绑定到unity进程进行单步调试

    测试环境一:mac Catalina-10.15.4, vs2019 for mac, unity2019.3.6f1 for mac 要在VS2019的 [适用于UNITY的工具]中,将 [调试程序 ...

  4. 关于 Angular view Query 的 id 选择器问题的单步调试

    问题描述 我有这样一个 Angular Component,模板文件如下: @Component({ selector: 'example-app', template: ` <pane id= ...

  5. 通过单步调试的方式学习 Angular 中带有选择器的内容投影使用方式

    问题描述 我创建了一个 selector 为 app-content-section 的 Component,用于容纳内容投影(content projection): 这个 Component 的模 ...

  6. Angular 内容投影 content projection 关于选择器问题的单步调试

    问题描述 我定义了一个能够允许消费者 Component 将其自定义内容通过 content projection 投射进来的 Component: import { Component } from ...

  7. Angular 内容投影 content projection 的一个问题的单步调试

    问题描述 我使用如下代码测试一个最简单的 Angular 内容投影场景: import { Component } from '@angular/core';@Component({selector: ...

  8. 记Angular与Django REST框架的一次合作(2):前端组件化——Angular

    注:这是这个系列的第二部分,主要集中在Angular的使用方面.之前使用过AngularJS(Angular 1.x),混在Django的模板中使用,这些页面一般完全是结果展示页.在有Django表单 ...

  9. SAP Spartacus 服务器端渲染单步调试步骤之二:在服务器端执行应用程序 Angular 代码

    前文:SAP Spartacus 服务器端渲染单步调试步骤之一:应用程序准备工作 入口: 进入 platform-server.js: 入口: 最终在服务器端执行 bootstrap,输入 Compo ...

最新文章

  1. [开源] C语言项目实战 - 虚拟鼠标 - VirtualMouse
  2. 2020-1024=996
  3. Spark _01初识
  4. .NET-记一次架构优化实战与方案-前端优化
  5. 周期三角波频谱图_雷达物位计厂家告诉你,什么是调频连续波雷达物位计
  6. 【实习】【算法】百度面经之四
  7. freemarker 解析对象的某元素_Freemarker常用技巧(三)
  8. 篇章级关系抽取(Doc-RE)论文列表整理
  9. Python实现坦克大战——源代码
  10. java 微信高级群发_java微信平台,高级群发接口开发
  11. 产品周报第26期|富文本编辑器新增预览功能;博客首页增加上次阅读频道记录……
  12. springboot实现数据库数据导出生成Excel报表
  13. Bellman_Ford模版
  14. Virtuoso: 最全安装(IC618,IC617等), 问题解决
  15. ts, mp4文件快进快退(seek)原理
  16. 获取sku详细信息 API 返回值说明
  17. Docker安装java环境并部署jar包运行
  18. 简单聊聊MySQL中的六种日志
  19. 计算机网络--第二章物理层
  20. Ubuntu12.04不能连接小米开发,adb devices不能看到设备

热门文章

  1. ZOJ Problem Set - 1730 Crazy Tea Party
  2. swift和oc区别----属性部分(参考官方swift2.1文档)
  3. 解决无法删除表,提示被外键约束引用
  4. jQuery和MooTools的真正区别
  5. 【置顶】方立勋JavaWeb学习地址
  6. Linux下安装VMware Tools 的方法
  7. Docker(五)如何构建Dockerfile
  8. 多元化思维其二:“马太效应”之道
  9. C#开发纽曼来电小秘书总结(指南)
  10. JAVA笔记:死锁的详细解释