dav的使用

dva 也是 umi 的状态管理器

首先在pages里面的文件夹(例如home文件)中创建一个models文件夹里面放dva

我们整体抛出的是一个对象
对象中namespace代表的是取值的名字 一般是父文件的名字
state是存放一些值
reducers是存放一些方法都是同步的 写法和redux差不多
effects里可以写一写异步的请求方法 利用Generator 的写法
以上都是对象的形式

例如在 effects 里写一个方法(异步的)
payload这个是传的一些值
call 这个是用作异步调用
put 这个是在异步调用完事之后的方法
select 这个是拿它上一次的值
*fetch ({ payload }, { call, put, select }){
const old = yield select(prev => prev.home.data) //上一次的值
const date = yield call(() => SetList(payload)) // 请求接口
yield put({ // 请求完事之后的调用的reducers方法
type: ‘setData’,
payload: […date.list, …old],
})
}

在页面使用的时候(异步):

props.dispatch({
type:‘home/fetch’,//方法在home下的fetch方法
payload:{ 需要传的值
limit:2,
page:1
}
})

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值