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

中国建设领域专业人员网站asp运行wordpress

中国建设领域专业人员网站,asp运行wordpress,wordpress+推荐插件,包装设计需要学什么软件在 React 中操作 DOM 元素时#xff0c;使用 document.querySelector 以及全局事件监听#xff08;如 addEventListener#xff09;并不推荐#xff0c;因为这些方法无法与 React 的生命周期很好地协调#xff0c;可能会导致内存泄漏或影响性能。 可以改为使用 useRef 和…在 React 中操作 DOM 元素时使用 document.querySelector 以及全局事件监听如 addEventListener并不推荐因为这些方法无法与 React 的生命周期很好地协调可能会导致内存泄漏或影响性能。 可以改为使用 useRef 和 useEffect 来处理 DOM 元素以及事件监听。 React 代码 import React, { useRef, useEffect, useState } from react; import styles from ./index.module.less;const ComponentName () {const containerRef useRef(null);const leftPanelRef useRef(null);const rightPanelRef useRef(null);const dividerRef useRef(null);const [isDragging, setIsDragging] useState(false);useEffect(() {const handleMouseDown () {setIsDragging(true);};const handleMouseMove (e) {if (!isDragging) return;const containerRect containerRef.current.getBoundingClientRect();const offsetX e.clientX - containerRect.left;const leftWidth (offsetX / containerRect.width) * 100;const rightWidth 100 - leftWidth;leftPanelRef.current.style.width ${leftWidth}%;rightPanelRef.current.style.width ${rightWidth}%;};const handleMouseUp () {setIsDragging(false);};const divider dividerRef.current;divider.addEventListener(mousedown, handleMouseDown);document.addEventListener(mousemove, handleMouseMove);document.addEventListener(mouseup, handleMouseUp);// 清理事件监听器return () {divider.removeEventListener(mousedown, handleMouseDown);document.removeEventListener(mousemove, handleMouseMove);document.removeEventListener(mouseup, handleMouseUp);};}, [isDragging]);return (div className{styles.container} ref{containerRef}div className{styles.leftPanel} ref{leftPanelRef}/divdiv className{styles.divider} ref{dividerRef}/divdiv className{styles.rightPanel} ref{rightPanelRef}/div/div); };export default ComponentName; 样式css .container {display: flex;width: 100%;height: 100vh; position: relative; }.leftPanel {width: 50%;background-color: lightblue; }.rightPanel {width: 50%;background-color: lightgreen; }.divider {width: 5px;background-color: gray;cursor: ew-resize; position: relative; } 注释 useRef用来获取 DOM 元素引用如 containerRef、leftPanelRef、rightPanelRef 和 dividerRef。useState用来存储拖动的状态 isDragging。useEffect用于在组件挂载时添加事件监听器并在组件卸载时清理这些监听器。这样可以避免内存泄漏或重复监听。清理事件确保在组件卸载时移除 mousemove 和 mouseup 的事件监听避免意外行为。getBoundingClientRect() 是 JavaScript 中用于获取元素的边界信息的方法。它返回一个 DOMRect 对象包含该元素相对于视口的位置和大小信息包括 top, right, bottom, left, width, 和 height 等属性。
http://www.dnsts.com.cn/news/63370.html

相关文章:

  • 网站描述怎么修改photoshop等。
  • 网站可行性分析外协加工订单网
  • wordpress建站方向网络设计工资高吗
  • 南昌公司网站建设江苏建筑信息平台
  • 织梦网站搬家WordPress推送百家号
  • 如何利用视频网站做推广全球电子商务网
  • 网络公司 建站 官方网站宜昌平台网站建设
  • 小说网站得广告怎么做美橙网站建设南的
  • 做网站书籍上海网站络公司
  • 网站开发价格多少即墨网站建设电话
  • 网站建设合同】农业交易平台网站建设
  • 做全屏网站图片显示不全太原手机网站制作
  • 江河建设集团有限公司网站WordPress图片分页浏览
  • 高清做网站插图网站建设管理及维护
  • 多语言网站多域名推广小程序打包成app
  • 写作网站哪个好用手机淘宝网页版
  • 网站建设环境软件有哪些网站设置手机版
  • 上海网站优化加盟对seo的理解
  • 广州网站设计制作公司有哪些wordpress 所有分类
  • 用mui做的网站dz网站建设
  • 从哪个网站找钢做的微商html做的网页怎么变成网站
  • 做优惠券的网站搭建网站推荐几个
  • 万网个人网站备案查询柳传志 潘石屹做水果网站
  • 无形资产 网站建设网站开发文档实训小结与讨论
  • 牡丹区住房和城乡建设局网站百度推广怎么做最好
  • 常州 网站 推广怎么样做兼职网站
  • wordpress网站数据迁移企业网站建设实训报告
  • 网站没有问题但是一直做不上首页正规外贸网站建设公司
  • 如何部署thinkphp网站稳定免费虚拟主机
  • 辽宁省网站制作公司排名怎样做网络推广好