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

给别人做的网站涉及到违法seo网站优化课程

给别人做的网站涉及到违法,seo网站优化课程,站长工具ip地址,网站网站建设企业问题背景 在日常开发中,我们经常会遇到这样的场景: 用户疯狂点击提交按钮表单重复提交导致数据异常批量操作按钮被连续触发 这些问题如果处理不当,轻则影响用户体验,重则可能造成数据错误。 解决方案 我们可以封装一个自定义…

问题背景

在日常开发中,我们经常会遇到这样的场景:

  • 用户疯狂点击提交按钮
  • 表单重复提交导致数据异常
  • 批量操作按钮被连续触发

这些问题如果处理不当,轻则影响用户体验,重则可能造成数据错误。

解决方案

我们可以封装一个自定义 Hook

import {useState,useCallback,useRef} from 'react'function useLock(asyncFn) {const [loading, setLoading] = useState(false)const asyncFnRef = useRef(null)asyncFnRef.current = asyncFnconst run = useCallback(async (...args) => {if(loading) returnsetLoading(true)try {await asyncFnRef.current(...args)} finally {setLoading(false)}}, [loading])return [loading,run]
}

然后封装一个通用的 Button 组件

import {Button as AntButton} from 'antd'const Button = ({onClick,...props})=>{const {loading, run} = useLock(onClick || (()=> {}))return <AntButton loading={loading} {...props} onClick={run}></button>
}

使用示例

const Demo = () => {const handleSubmit = async () => {// 模拟异步请求await new Promise(resolve => setTimeout(resolve, 2000))console.log('提交成功')}return (<Button onClick={handleSubmit}>提交</Button>)
}

方案优势

  • 零侵入性 :使用方式与普通按钮完全一致
  • 自动处理 :自动管理 loading 状态,无需手动控制
http://www.dtcms.com/wzjs/190558.html

相关文章:

  • 学做网站能赚多少钱阿里巴巴指数查询
  • 做地税电子签章的网站社交网络的推广方法
  • 做网站的价格贵吗今天大事件新闻
  • 可以建站的网站头条新闻 最新消息条
  • 网络技术服务郑州seo公司排名
  • 微信视频网站怎么做微博营销案例
  • drupal做新闻网站长沙百度关键词搜索
  • 广东高端网站建设报价建立个人网站
  • 廊坊网站建设总部在哪里网络营销怎么推广
  • 官方网站开发seo的方法
  • 东莞网站建设最牛百度视频推广
  • 医院网站加快建设方案龙华线上推广
  • 夜夜做新郎网站百度推广有哪些售后服务
  • 广州10大网站开发海南seo排名优化公司
  • 临沂网站建设网站推广seo网站推广推荐
  • wordpress资讯网站模板微信软文范例
  • 通过高权重网站做长尾关键词如何在网上做销售推广
  • 网站建设实际总结百度搜索关键词排名优化推广
  • 网站开发分层抖音seo系统
  • 做销售怎么找优质资源网站搜索引擎优化岗位
  • 网站建设服务商排名59软文网
  • seo是什么?关键词排名优化江苏的团队
  • 大连网站开发 简维科技淘宝运营培训班哪里有
  • 怎样在工商局网站做公示网站推广代理
  • 玉溪市网站建设搜索引擎优化有哪些要点
  • 免费个人网页空间ftpseo排名优化的方法
  • 云主机如何做两个网站企业宣传文案
  • 网站建设网站培训网页
  • ps怎么做网站的广告条seo刷词
  • 怎么做旅店网站怎么下载需要会员的网站视频