简介:
subscriptions是订阅,用于订阅一个数据源,然后根据需要dispatch相应的action。数据源可以是当前的时间、服务器的websocket连接、keyboard输入、geolocation变化、history路由变化等等。格式为({ dispatch, history }) => unsubscribe。

subscripition的用法:

异步数据初始化:
比如:当用户进入 /users 页面时,触发action users/fetch 加载用户数据。

app.model({subscriptions: {setup({ dispatch, history }) {history.listen(({ pathname }) => {if (pathname === '/users') {dispatch({type: 'users/fetch',});}})}}
})

拓展:

path-to-regexp Package

如果url规则比较复杂,比如: /users/:userId/search ,那么匹配和userId的获取都会比较麻烦。这时推荐使用 path-to-regexp简化这部分逻辑。

import pathToRegexp from 'path-to-regexp';// in subscription
const match = pathToRegexp('/users/:userId/search').exec(pathname);
if (match) {const userId = match[1];// dispatch action with userId
}

DvaJS的Subscription的使用相关推荐

  1. DvaJS中的Subscription

    简介: subscriptions是订阅,用于订阅一个数据源,然后根据需要dispatch相应的action.数据源可以是当前的时间.服务器的websocket连接.keyboard输入.geoloc ...

  2. 一篇文章读懂 React and redux 前端开发 -DvaJS, a lightweight and elm-style framework.

    DvaJS: React and redux based, lightweight and elm-style framework. https://dvajs.com/ 实例项目源码:https:/ ...

  3. 一文彻底搞懂 DvaJS 原理

    Dva 是什么 dva 首先是一个基于redux[1]和redux-saga[2]的数据流方案,然后为了简化开发体验,dva 还额外内置了react-router[3]和fetch[4],所以也可以理 ...

  4. DvaJs:React数据流解决方案

    DvaJs:React数据流解决方案 摘要 本文最终想要达到的目的是掌握DvaJs的使用,从起源开始讲起.文章内容借鉴了阮一峰博客与各技术官网. Flux篇 Fulx是什么? Flux 是一种架构思想 ...

  5. React应用框架DvaJs入门

    1 什么是Dva? dva 首先是一个基于 redux 和 redux-saga 的数据流方案,然后为了简化开发体验,dva 还额外内置了 react-router 和 fetch,所以也可以理解为一 ...

  6. DvaJS 入门, 快速上手Dva

    为什么要使用Dva? React 没有解决的问题 React 本身只是一个 DOM 的抽象层,使用组件构建虚拟 DOM. 如果开发大应用,还需要解决一个问题. 通信:组件之间如何通信? 数据流:数据如 ...

  7. Minimal安装CentOS 7使用yum报This system is not registered to Red Hat Subscription Management.

    问题描述 最小化安装CentOS 7的Linux系统后,发现yum安装任何工具,都报This system is not registered to Red Hat Subscription Mana ...

  8. 什么是 Rxjs 的 subscription

    什么是订阅? Subscription 是一个对象,该对象代表一个一次性资源,通常是一个 Observable 的执行. Subscription 有一个重要的方法,unsubscribe,它不接受任 ...

  9. 使用GraphQL的subscription订阅服务器的通知

    首先在schema.graphql里定义一个Deal类型: 我们模拟的场景是:每当有新的交易发生时,我们期望从服务器端收到通知. 创建一个新的subscription,字段为deal,类型为刚才定义的 ...

最新文章

  1. 【Groovy】IntelliJ IDEA 中创建 Gradle 工程 ( Gradle 工程目录文件分析 )
  2. 数学建模——智能优化之粒子群模型详解Python代码
  3. react 组件连动效果_React组件开发中常见的陷阱
  4. 有种欢迎叫“来了就是深圳人”
  5. 这些年,NLP常见的预训练模型剖析
  6. NYOJ4 - ASCII码排序
  7. 在WSL下安装MYSQL的实验报告_Linux(wsl)安装docker和mysql主从搭建
  8. day26-2 基于TCP协议的套接字编程
  9. Flutter Fish-Redux插件入门指南
  10. oracle歸檔日誌,oracle歸檔日誌清理 | 學步園
  11. SQL SERVER MONTH函数
  12. ChemDraw中如何旋转结构
  13. GitHub上最火的Android开源项目整理
  14. ios删除字符串第一位_ios-删除字符串中的最后两个字符(Swift 3.0)
  15. 解决“javac不是内部或外部命令,也不是可运行的程序”问题
  16. 计算机非全日制有用吗,计算机在职研究生还会有用吗?
  17. Adobe Acrobat 安装 E1935 0x80070BC9 错误 经验
  18. 银行卡信息盗取、买卖已成黑色产业链
  19. 404页面设置方法_404页面案例
  20. 关于wampserver图标变绿的问题

热门文章

  1. Photoshop 剪贴蒙板
  2. maven添加jra包
  3. Linux 服务器 apt 源配置方法【一文读懂】
  4. 常用的安全漏洞修复建议
  5. 石头扫地机器人卡顿_石头扫地机器人T7系列APP有这些小技巧
  6. 想告别繁琐的工作?你可能需要这个。
  7. srt-live-server:一款基于SRT的毫秒级低延时直播服务器
  8. 【气象水文】WRF示例运行与后处理软件
  9. 自己剪辑的视频,怎么配音比较准确完美?
  10. 统计学习方法 (基本概念)