EXPO 结合 Alova请求库 快速搭建ReactNative开发平台

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都可以完美兼容

相关推荐
walking9574 分钟前
重新学习前端之设计模式与架构
前端·javascript·面试
walking9576 分钟前
重新学习前端之TypeScript
前端·javascript·面试
Hello--_--World1 小时前
Vue指令:v-if vs v-show、v-if 与 v-for 的优先级冲突、自定义指令
前端·javascript·vue.js
神の愛1 小时前
ReactHooks
前端·javascript·react.js
开源情报局2 小时前
从小红书评论区挖需求:我准备用 opencode 写一个 Chrome 插件
前端·javascript·chrome
小李子呢02113 小时前
前端八股JS---Map / Set / WeakMap / WeakSet
开发语言·前端·javascript
冴羽3 小时前
3 招让你的 Shadcn 出海应用性能提升 40 倍
前端·javascript·next.js
Hsuna3 小时前
Tailwind CSS 比起传统CSS框架无法实现的一些功能
前端·react.js
沐言人生3 小时前
ReactNative 源码分析4——ReactActivity之加载JSBundle
android·react native
Hello--_--World5 小时前
Vue:虚拟Dom
前端·javascript·vue.js