rax如果想要使用原生小程序的事件怎么办?

解法:

1、注册;

2、监听;

3、离开页面时销毁;

import {registerNativeEventListeners,addNativeEventListener,removeNativeEventListener,
} from 'rax-app';const basePageInfo = { offset: 1, limit: 10 };
const [pageInfo, setPageInfo] = useState({ ...basePageInfo });
const [noMore, setNoMore] = useState(false);if (isWeChatMiniProgram) {// 注册所有需要监听的原生事件registerNativeEventListeners(Designer, ['onPullDownRefresh','onShareAppMessage','onShareTimeline','onReachBottom',]);
}useEffect(() => {// 开始监听 onPullDownRefresh 事件addNativeEventListener('onPullDownRefresh', usePullDownRefresh);addNativeEventListener('onReachBottom', useReachBottom);return () => {// 移除 onPullDownRefresh 事件的监听器removeNativeEventListener('onPullDownRefresh', usePullDownRefresh);removeNativeEventListener('onReachBottom', useReachBottom);};}, [pageInfo]);const useReachBottom = (): void => {if (!noMore) {  // 还有数据setLoading(true);setPageInfo({ ...pageInfo, offset: pageInfo.limit + 1 });}};const usePullDownRefresh = async (): Promise<void> => {setLoading(true);setPageInfo({ ...basePageInfo });};// 获取接口参数const getListData = async () => {const res = await getxxxx({data: {...pageInfo,},});const data = 'data' in res.data && 'data' in res.data.data ? res.data.data.data : [];if ((data?.length === 0 && pageInfo.offset !== 1) || !data) {setNoMore(true);} else if (pageInfo.offset === 1) {if (data?.length > 0) {setDesignerList(data);} else {setDesignerList(null);}} else {setDesignerList(designerList && designerList.concat(data));}} Toast.hide();setLoading(false);};

rax调用微信小程序原生事件相关推荐

  1. 【微信小程序-原生开发】实用教程09 - 可滚动选项,动态列表-步骤条(含事件传参),动态详情(含微信云查询单条数据 doc)

    开始前,请先完成圆梦宝典中滚动公告栏的开发,详见 [微信小程序-原生开发]实用教程 08 - 开通微信云开发,操作云数据库新增数据(含修改数据权限),初始化云服务(含获取微信云环境 id),获取云数据 ...

  2. 微信小程序原生上传图片封装

    资源参考 组件免费下载地址 概述 微信小程序原生上传图片功能封装,具体使用根据个人情况而定. 组件自定义属性与方法描述 isShow:布尔值,默认为true true:不显示上传图标 false:显示 ...

  3. 微信小程序原生开发 记录

    遇到类似 ref 交互的 情况 所需写法 // wxml<wux-calendar id="wux-calendar" /> // js Page({data: {}, ...

  4. 微信小程序原生接入腾讯云im(单聊,列表,聊天界面,自定义消息,自动回复)

    微信小程序原生接入腾讯云im(单聊,列表,聊天界面,自定义消息,自动回复) 发送图片语音消息传送→ 文章目录 1.项目需求 2.参考文档 3.效果图 4.初始化 集成SDK 5.登录 6.会话列表 7 ...

  5. 微信小程序原生常用语法 1

    微信小程序的教程 学习目标 如何创建小程序项目 小程序项目的基本组成结构 小程序页面由几部分组成 小程序中常见的组件如何使用 小程序如何进行协同开发与发布 小程序的宿主环境 小程序标准开发模式 1.申 ...

  6. 【微信小程序-原生开发】实用教程06-轮播图、分类页签 tab 、成员列表(含Tdesign升级,切换调试基础库,设置全局样式,配置组件按需注入,添加图片素材,wx:for,生命周期 onLoad)

    开始前,请先完成首页的开发,详见 [微信小程序-原生开发]实用教程05-首页(含自定义调试模式.插入图片.图文排版.底部留白.添加本地图片) https://blog.csdn.net/weixin_ ...

  7. 【微信小程序-原生开发】watch 的实现

    微信小程序-原生开发本身并没有 vue 中 watch 的功能,可以通过以下方式实现 定义监听器 utils\watch.js /*** 设置监听器*/ export function setWatc ...

  8. wxml修改样式_微信小程序 动态绑定事件并实现事件修改样式

    微信小程序 动态绑定事件并实现事件修改样式 实例代码 wxml {{item.name}} js var reportTypeList = [ { name: "日报1", id: ...

  9. 微信小程序阻止冒泡点击_微信小程序bindtap事件与冒泡阻止详解

    bindtap就是点击事件 在.wxml文件绑定: cilck here 在一个组件的属性上添加bindtap并赋予一个值(一个函数名) 当点击该组件时, 会触发相应的函数执行 在后台.js文件中定义 ...

  10. 微信小程序原生开发功能合集一:微信小程序开发介绍

    一.专栏介绍   本专栏主要内容为微信小程序常用功能开发过程的介绍说明,包括开发微信小程序常用组件的封装.常用功能的开发等,提供源代码.开发过程讲解视频.完整的课程等.   组件封装: 下拉选择组件. ...

最新文章

  1. Java这个高级特性,很多人还没用过!
  2. 【乱】乱,乱,乱,android真乱!
  3. 编译分布式并行版caffe(Open MPI)教程
  4. selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary
  5. js判断一个对象是否为空
  6. 【Linux】一步一步学Linux——ssh-keyscan命令(179)
  7. ashx 跨域_ASP.NET通用HTTP处理程序(ashx的),支持JSONP
  8. Android总结 之 AsyncTask(二)
  9. python简易_Python简易爬虫
  10. 使用Postman测试https接口时的小问题记录
  11. [java] byte不能直接相加
  12. linux 获取网站预览图,Shell脚本实现获取网页快照并生成缩略图 -电脑资料
  13. [转]FCKeditor在ASP配置环境中的使用
  14. 网络协议分析-TCP协议分析
  15. 宇视云所有故障排查思维导图
  16. KU FPGA DDR4 SDRAM仿真/板卡测试
  17. 业务安全之接口调用安全
  18. 所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。
  19. 单例(Singleton)设计模式
  20. 原神紫晶块采集点位置在哪 紫晶块采集点路线图详情

热门文章

  1. python类似于countif_用Python实现一个简单的——人脸相似度对比
  2. C语言判断一个数是奇数还是偶数
  3. 春运抢火车票攻略汇总(持续更新中)
  4. Office2010激活失败 错误码2503、2502解决方案
  5. 工信部定级备案和等保备案有什么区别
  6. 揭秘世界五大著名黑客
  7. 开源电子书项目FBReader初探(四)
  8. 团队管理6--管理风格
  9. c语言空气污染指数代码,空气质量指数API是怎么算出来的
  10. c51语言串口,C51 语言编程:单片机与 PC 串口通信程序