当前位置: 首页 > news >正文

租服务器发布网站网站建设项目外包网站

租服务器发布网站,网站建设项目外包网站,给个网址2022年能用的,濮阳网站建设网站文章目录 问题描述解决思路引发的问题优化后的代码 问题描述 ios端手机下的h5/小程序#xff0c;滚动到底部时加载更多数据#xff0c;但是滚动到底部时重复触发加载事件#xff0c;在安卓机下则不会发生该问题#xff0c;记录一下解决方案。 解决思路 为了防止下拉事件重… 文章目录 问题描述解决思路引发的问题优化后的代码 问题描述 ios端手机下的h5/小程序滚动到底部时加载更多数据但是滚动到底部时重复触发加载事件在安卓机下则不会发生该问题记录一下解决方案。 解决思路 为了防止下拉事件重复触发对下拉事件做一次防抖处理 import { useState, useRef, useCallback } from react; import debounce from lodash/debounce;const paramPageRef useRef(1) const [searchResult, setSearchResult] useState([]);// 防抖查询const debounceSearch useCallback(debounce(() handleSearch (), 300),[],);// 接口查询数据const handleSearch async () {const params {// 一些参数county: selectedArea.regionName,address: searchKey,...stableParams,currentPage: paramPageRef.current,};try {const res await fuzzySearchByPage(params);console.log(addressSearch---response--, res);if (res.currentPage 1) {setSearchResult(res?.records || []);} else { setSearchResult([...searchResult, ...res?.records]);} setHasMore(res.hasMore )paramPageRef.current 1} catch (err) {console.error(handleSearch----err---, err);}};ScrollRefreshdown{false}pull{false}Lower{() {if (hasMore) {debounceSearch(data)} ;}}/ 引发的问题 以上代码解决了重复触发下拉到底的问题但是使用useCallBack的防抖会形成闭包导致在 handleSearch 方法中取不到最新的 searchResult 从而加载更多时会少加载前一页的数据为了防止这个闭包问题可以通过设置一个新的state,通过监听这个state触发handleSearch方法。 优化后的代码 import { useState, useRef, useCallback } from react; import debounce from lodash/debounce;const paramPageRef useRef(1) const [searchResult, setSearchResult] useState([]); const [page, setPage] useState(1);// 防抖查询const debounceSearch useCallback(debounce(() setPage(paramPageRef.current), 300),[],);useEffect((){console.log(page)if (page !1 ) {handleSearch()}},[page])// 接口查询数据const handleSearch async () {const params {// 一些参数county: selectedArea.regionName,address: searchKey,...stableParams,currentPage: paramPageRef.current,};try {const res await fuzzySearchByPage(params);console.log(addressSearch---response--, res);if (res.currentPage 1) {setSearchResult(res?.records || []);} else { setSearchResult([...searchResult, ...res?.records]);} setHasMore(res.hasMore )paramPageRef.current 1} catch (err) {console.error(handleSearch----err---, err);}};ScrollRefreshdown{false}pull{false}Lower{() {if (hasMore) {debounceSearch()} ;}}/ 如此便可以正常请求了下拉事件在300毫秒内只会触发一次。
http://www.yutouwan.com/news/222178/

相关文章:

  • 个人网站备案备注怎么网站设计
  • 新网站建设运营年计划北京集团 网站建设
  • 深圳做商城网站建设做国外网站什么定位
  • 中国建设银行钓鱼网站熟悉网页设计人机交互实验报告
  • php 网站开发的来源公司网站站建设协议
  • 专业门户网站开发公司wordpress live
  • 如何访问国外网站网站建设项目设计的图片
  • 站长之家ip查询网页设计实训心得500字
  • html做网站的毕业设计免费建站有哪些网站
  • 网站建设层级图网站基础上添加建设方案模板
  • 湛江快速网站建设在哪里做电商网站建设论文
  • 动漫电影做英语教学视频网站wordpress栏目管理
  • 咨询服务类网站建设国办网站建设规范
  • 编程培训班学费是多少短视频seo获客
  • 做微信推文的网站虚拟网站怎么做的
  • 将任意网站提交给google搜索引擎彩票网站怎么做系统
  • 高端建设网站公司django网站开发过程
  • 最便宜的网站建设qq网页版在线登录官网
  • c#做asp.net网站欧洲网站服务器
  • 技术网站有哪些网站设计制作规范
  • 海南手机网站建设公司哪家好互联网营销课程体系
  • 个人网站建设代码一个thinkphp搭建的微网站
  • 深圳网站建设 推广网站设计自已申请
  • 推荐聊城做网站的公司郑州建站模板厂家
  • 百度显示网站正在建设中专业集团门户网站建设企业
  • wordpress 数据站深圳网站制作公司兴田德润官网多少
  • 网站后台开发费用领卷网站如何做代理
  • wordpress建站主题做AE视频素材在哪些网站上可以找
  • 局网站建设制度昆明比较好的网站开发公司
  • 网站关键词多少个合适房山网站制作