alova 是一个轻量级的请求策略库,目标是让接口的管理和使用变得非常简单。
1、安装
npm install alova --save
2、
使用 useRequest 发送一个请求
javascript
import { useRequest } from 'alova'
const { send: followAuthor } = useRequest(
(wtNo, status) => follow(
{ wtNo, status }
), { immediate: false }
)
followAuthor(date1,date2).then(() => {
refresh()
showToast('关注成功')
})
usePagination是
alova的一个 Hook 来帮助简化分页功能的实现。
javascript
import { usePagination } from '@alova/scene-react'
import { dateListApi } from '@api'
const {
// 加载状态
loading,
// 列表数据
data,
// 是否为最后一页
// 下拉加载时可通过此参数判断是否还需要加载
isLastPage,
// 当前页码,改变此页码将自动触发请求
page: [page, setPage],
refresh,
} = usePagination(
// Method实例获取函数,它将接收page和pageSize,并返回一个Method实例
(page, pageSize) => dateListApi({ pageSize, pageNum: page }),
{
// 请求前的初始数据(接口返回的数据格式)
initialData: {
total: 0,
data: [],
},
initialPage: 1, // 初始页码,默认为1
initialPageSize: 5, // 初始每页数据条数,默认为10
append: true,
}
)
总结
alova和请求库的关系
传统promise式的请求库很好地解决了请求发送的问题,只是...它们只是单纯的请求发送工具
alova像它们的武器装备,通过alova可以获得更强大的能力,不管您喜欢使用axios、superagent,还是浏览器的fetch-api,alova都可以完美兼容