react基础之自定义获取异步的hooks

react 中也可以自定义获取异步数据的hooks,其基本用法,与同步数据有点类似,代码如下

js 复制代码
import { useEffect, useState } from "react"


// 异步获取信息
function getInfo(): Promise<string> {
    return new Promise(resolve => {
        setTimeout(() => {
            resolve(Date.now().toString())
        }, 1500)
    })
}

// 自定义hooks
const useGetInfo = () => {
    const [loading, setLoading] = useState(true)
    const [info, setInfo] = useState('')
    // 获取数据
    useEffect(() => {
        getInfo().then(info => {
            // 设置状态
            setLoading(false)
            setInfo(info)
        })
    }, [])

    return {
        loading, info
    }
}
// 返回hooks
export default useGetInfo

使用方法:

js 复制代码
import useGetInfo from './hooks/useGetInfo';

  const { loading, info } =  useGetInfo()
  
  <div>
    异步获取数据:{ loading ? '加载中。。。': info}
</div>
相关推荐
LL.。2 分钟前
同步回调和异步回调
开发语言·前端·javascript
网络点点滴6 分钟前
Vue如何处理数据、v-HTML的使用及总结
前端·vue.js·html
运维咖啡吧8 分钟前
周一才上线的网站,单单今天已经超过1000访问了
前端·程序员·ai编程
世界哪有真情11 分钟前
用虚拟IP扩容端口池:解决高并发WebSocket端口耗尽问题
前端·后端·websocket
前端世界11 分钟前
打造一个可维护、可复用的前端权限控制方案(含完整Demo)
前端
LeQi17 分钟前
当!important成为代码毒瘤:你的项目是不是也中了招?
前端·css·程序员
玲小珑18 分钟前
Next.js 教程系列(九)增量静态再生 (ISR):动态更新的静态内容
前端·next.js
Mintopia27 分钟前
B 样条曲线:计算机图形学里的 “曲线魔术师”
前端·javascript·计算机图形学
前端小巷子30 分钟前
跨域问题解决方案:CORS(跨域资源共享)
前端·网络协议·面试
大大。30 分钟前
van-tabbar-item选中active数据变了,图标没变
java·服务器·前端