dva model的effect的不同类型 使用介绍

本文介绍了dva model的effect,包括takeEvery、takeLatest、throttle(消抖)和watcher的使用。takeEvery对每个匹配的action派生saga,takeLatest仅保留最新任务,throttle在指定时间内限制任务派生,watcher则用于监听并fork saga。参考了dva源码解析和redux-saga API文档。
摘要由CSDN通过智能技术生成

dva model的effect的不同类型 使用介绍

官方的一些介绍

  • effect说明
    在这里插入图片描述
  • 使用说明
    在这里插入图片描述
    这几个值是用来干嘛的呢?

takeEvery

在发起(dispatch)到 Store 并且匹配 pattern 的每一个 action 上派生一个 saga

解释一下就是,在你dispatch 一个effects action的时候,他会去找到你的effect里面定义的对应的函数,每dispatch一次就执行一次, 这是个默认值所有的以gernerate function 定义的effects都是默认type都是takeEvery

takeLatest

在发起到 Store 并且匹配 pattern 的每一个 action 上派生一个 saga。并自动取消之前所有已经启动但仍在执行中的 saga 任务。

这个就是说如果你多次dispatch同一个action的话,在dispatch的时候,saga任务队列里面有这个action就会取消掉上次的action,开始执行本次的action

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值