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

如何利用php开源系统建立php网站wordpress博客主机选择

如何利用php开源系统建立php网站,wordpress博客主机选择,百度后台推广登录,网站备案查询api背景 在开发过程中#xff0c;经常需要使用到倒计时的场景#xff0c;当用户点击后#xff0c;按钮进行倒计时#xff0c;然后等待邮件或者短信发送#xff0c;每次都写重复代码#xff0c;会让代码显得臃肿#xff0c;所以封装一个组件来减少耦合 创建一个倒计时组件…背景 在开发过程中经常需要使用到倒计时的场景当用户点击后按钮进行倒计时然后等待邮件或者短信发送每次都写重复代码会让代码显得臃肿所以封装一个组件来减少耦合 创建一个倒计时组件 编辑基本框架 设计3个参数一个是倒计时时长一个是开始时执行的方法一个是展示文本 import React, { useState, useEffect, useRef } from react; import { Button } from antd;// 定义 CountdownButton 的属性接口 interface CountdownButtonProps extends OmitReact.ButtonHTMLAttributesHTMLButtonElement, onClick {countdownTime?: number;text?: string;onStart?: () void; }const CountdownButton: React.FCCountdownButtonProps ({ countdownTime 60, text 获取验证码, onStart, ...restProps }) {const [isDisabled, setIsDisabled] useState(false);const [buttonText, setButtonText] useState(text);// 使用useRef来保存倒计时的当前值避免状态重置const countdownRef useRef(countdownTime);const intervalRef useRefnumber | null(null);return (Button {buttonText}/Button); };export default CountdownButton;实现倒计时方法 实现剩余时间修改方法 // 使用自定义的setCountdownRef函数来更新倒计时值const setCountdownRef (update: (current: number) number) {const newCountdown update(countdownRef.current);countdownRef.current newCountdown;};实现开启倒计时方法 const handleStartCountdown () {// 立即更新按钮文本和状态setButtonText(${countdownRef.current}s后重试);setIsDisabled(true);if (typeof onStart function) {onStart();}// 如果已经有定时器存在则清除它if (intervalRef.current ! null) {clearInterval(intervalRef.current!);}intervalRef.current setInterval(() {setButtonText(${countdownRef.current}s后重试);setCountdownRef((prevCountdown) {if (prevCountdown 1) {clearInterval(intervalRef.current!);intervalRef.current null;setButtonText(text);setIsDisabled(false);return countdownTime; // 重置倒计时时间}return prevCountdown - 1;});}, 1000);实现清楚定时器方法 // 清除定时器useEffect(() {return () {if (intervalRef.current ! null) {clearInterval(intervalRef.current!);}};}, []);完整代码 import React, { useState, useEffect, useRef } from react; import { Button } from antd;// 定义 CountdownButton 的属性接口 interface CountdownButtonProps extends OmitReact.ButtonHTMLAttributesHTMLButtonElement, onClick {countdownTime?: number;text?: string;onStart?: () void; }const CountdownButton: React.FCCountdownButtonProps ({ countdownTime 60, text 获取验证码, onStart, ...restProps }) {const [isDisabled, setIsDisabled] useState(false);const [buttonText, setButtonText] useState(text);// 使用useRef来保存倒计时的当前值避免状态重置const countdownRef useRef(countdownTime);const intervalRef useRefnumber | null(null);// 清除定时器useEffect(() {return () {if (intervalRef.current ! null) {clearInterval(intervalRef.current!);}};}, []);const handleStartCountdown () {// 立即更新按钮文本和状态setButtonText(${countdownRef.current}s后重试);setIsDisabled(true);if (typeof onStart function) {onStart();}// 如果已经有定时器存在则清除它if (intervalRef.current ! null) {clearInterval(intervalRef.current!);}intervalRef.current setInterval(() {setButtonText(${countdownRef.current}s后重试);setCountdownRef((prevCountdown) {if (prevCountdown 1) {clearInterval(intervalRef.current!);intervalRef.current null;setButtonText(text);setIsDisabled(false);return countdownTime; // 重置倒计时时间}return prevCountdown - 1;});}, 1000);// 立即减少一次倒计时使首次显示正确的剩余时间setCountdownRef((prevCountdown) prevCountdown - 1);};// 使用自定义的setCountdownRef函数来更新倒计时值const setCountdownRef (update: (current: number) number) {const newCountdown update(countdownRef.current);countdownRef.current newCountdown;};return (Button {...restProps} onClick{handleStartCountdown} disabled{isDisabled}{buttonText}/Button); };export default CountdownButton;使用方法 CountdownButton countdownTime{60} text{获取验证码} onStart{sendMsg} typeprimary /效果
http://www.dnsts.com.cn/news/233868.html

相关文章:

  • 什么是营销型网站?淘宝开店后怎么运营
  • 网站的设计特点有哪些网站找不到首页
  • 南阳响应式网站制作平台app开发制作
  • 越秀网站建设推广设计公司网站套餐
  • 10号店分销平台谷歌seo需要做什么的
  • 百度站长平台怎么用网站错误提示页设计
  • 太仓市质监站网址重庆网站网络推广
  • 产品展示网站模板源码百度指数 多少流量 网站名
  • 互联网门户网站外包做网站的会给你什么
  • 地下城钓鱼网站如何做电商代运营企业
  • 帝国网站模板建设网站设计制作费用
  • 建设网站增城wordpress微信支付插件下载
  • 白云网站建设公司邮箱一般是什么格式
  • 站长基地gif网站素材哪家网络公司比较好
  • 平阴市住房和城乡建设局网站济南网站建设直播
  • 临沂吧网站建设姜堰网站制作
  • 江苏省国家示范校建设专题网站网络推广公司营销策划
  • 网站后台登录界面代码安徽省建设工程信息网关闭了吗
  • 用vs做网页是怎么创建网站的方案 网站建设
  • 连江网站建设服务长春微信推广
  • 百科网站推广南宁电商网络推广
  • 如何注册网站域名和购买虚拟主机网络营销模式理论
  • 烟台网站制作计划淘宝客 网站建设不完整
  • 给公司网站设计9377游戏官网
  • 广州网站建设 seo功能最多的wordpress主题
  • 泰州网站建设多少钱辽宁建设执业信息网站
  • 网络规划设计师如何聘副高职称广州网站seo招聘
  • 微信免费建站网站建设相关话术
  • 网站怎么做子页今天全球重大新闻
  • 烟台外贸网站建设公司wordpress主查询翻页