前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hook 下 useEffect 进行异步请求数据操作 (ajax+Layui)

Hook 下 useEffect 进行异步请求数据操作 (ajax+Layui)

作者头像
泥豆芽儿 MT
发布2021-09-06 09:59:37
1.8K0
发布2021-09-06 09:59:37
举报
文章被收录于专栏:木头编程 - moTzxx

背景

近期进行了对 【 React JS (Hook) 】的一番摸索

作为技术涉猎的后端开发 PHPer ,难免会有更多的坎坷

在此只作为了一部分的【React - useEffect】技术的应用

代码语言:javascript
复制
  需求:
        进入商品添加页面时,初始化时,通过 AJAX 异步获取 "分类数据";
        然后在下拉列表中显示分类信息

鄙人使用的是 【浏览器支持模式】,则需要引入 js 文件

代码语言:javascript
复制
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
  • 核心处理代码如下:
代码语言:javascript
复制
const [catList,setCatList] = React.useState([]);
React.useEffect(()=>{
    // TODO async/await让异步代码看起来,表现更象同步代码;
    async function queryData(){
        const toUrl = "{:url('cms/goods/ajaxGetNormalCatList')}";
        const result = await axios.post(toUrl);
       	return result.data.data;
    };
    queryData().then(data=>{
		setCatList(data);
        // 注意,Layui 需要数据变动后再次渲染才可展示数据
        layui.form.render();
	});
},[])

注意:

因为选用的是Layui 前端框架,所以只有调用" layui.form.render();", 下拉列表中的数据才会显示哦! ajax 请求选用的是 【axios】,主要是为了代码量的减少; 根据自己的需要也是可以使用 $.post() 等等的原生 ajax 请求方式

参考文章:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/11/27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档