Recat 鼠标移动实时显示坐标

2023-10-27

一:React实时显示鼠标坐标事件。

// 从react解构两种方法,
import { useState,useEffect } from "react";

// 定义方法,状态管理
function useOnMouse(){
    var [ page,setPage ] = useState({x:0,y:0})
    // 定义方法,改变状态管理初始值。
    function onSetPage(e){
        setPage(
            {x:e.pageX,y:e.pageY}
        )
    }
    useEffect( () => {
        // 通过useEffect挂载的第一个方法,监听鼠标移动。
        window.addEventListener('mousemove',onSetPage);
        // 通过useEffect return卸载的方法,移除鼠标监听事件。
        return ()=> window.removeEventListener('mousemove',onSetPage);
    },[])
    // 返回的page(响应式更新)
    return page;
}
// 把useOnMouse组件抛出。
export default useOnMouse;

在父组件中引入,使用即可

//引入子组件
import onMouse from './components/onMouse';


//父组件 实时显示数据
    const mous = onMouse()
     return (
        <>
            <p>x轴:{mous.x}px,y轴:{mous.y}px</p>
        </>
    )

二:React实现点击翻转事件

import { useRef,useEffect} from 'react';
//返回一个ref,单击ref的dom,反转dom的文本
// 生命周期挂载完毕,添加单击事件。
// 生命周期卸载完毕,移除事件
function useReverse(type="click"){
    // 获取一个dom引用
    const el = useRef()
    // 返回函数
    function reverse(){
        // 把当前节点的dom反转
        var str = this.innerText.split('').reverse().join('');
        // 重新赋值文本实现反转
        this.innerText = str;
    }
    // 当挂载完毕,执行添加事件(type类型默认是click,可以是不同的事件类型)
    useEffect(()=>{
        el.current.addEventListener(type,reverse)
        // 卸载完毕,执行移除事件
        return ()=>el.current.removeEventListener(type,reverse)
    },[])
    //返回dom引用
    return el
}
//把useReverse组件抛出
export default useReverse;

父组件:

//引入组件
import useReverse from './components/useReverse';

function App(){
    const size = useWinSize()
    var el1 = useReverse()
    var el2 = useReverse('mouseover')
    return (
        <>
            <p ref={el1}>我是大帅哥!</p>
            <p ref={el2}>好好学习,天天向上</p>
        </>
    )

}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Recat 鼠标移动实时显示坐标 的相关文章

  • 用Python写一个植物大战僵尸

    上次写了一个俄罗斯方块 感觉好像大家都看懂了 这次就更新一个植物大战僵尸吧 植物大战僵尸的话 Python源码 问题解答学习交流群 773162165 引入需要的模块 import pygame import random 配置图片地址 I

随机推荐

  • Spring中IOC详解

    一 IOC的原型 IOC 控制反转 比如我们有一个功能是获取用户数据 我们使用Dao层实现这个功能 再在Service层调用这个功能 但是我们每增加一个接口 比如获取mysql中的数据 就要修改原来的代码 如果再增加一个新的接口 又需要去s
  • 优质github项目集合-珍藏版

    这是是一个聚集优质github项目的整合 推荐收藏 宗旨 GitHubDaily 将于每日不定时推送一批 GitHub 上优秀的开源项目给开发者 帮助开发者们发现当下最火的开源项目 令开发者们得以掌控技术脉搏 扩大自己的技术视野 并从开源项
  • sharepoint 工作经验与技能总结

    可能是由于平时工作比较忙 博客也写得少了 最近偶尔被同行的同事朋友问起 我一直在做sharepoint方面的工作 没有打算换asp net C 方面的工作吗 有的还问了句网上很流行的话 你都会啥绝活 哈哈 被问多了之后 我也还真问自己 工作
  • 华为交换机、路由器设备怎样配置console登录密码

    华为交换机路由器设备怎样配置console密码 在对路由器交换机等网络进行管理中 为了安全起见经常需要为设备配置登录密码 尤其是使用串口线直连设备时 console线路密码认证有两种方式 1 只配置password 密码 2 aaa认证模式
  • 【STM32+cubemx】0024 HAL库开发:IAP(在应用编程)的实现

    IAP在应用编程 In Application Programming 指的是MCU在运行应用程序时 能接收新的烧写文件 并更新到自身的程序存储器中 即可以在应用程序运行时在线升级 本节我们通过一个简单的例子 来实现STM32的IAP功能
  • 大数据学习笔记——zookeeper在hadoop集群中的作用

    zookeeper主要是用来搭建高可用的Hadoop集群 即High Availability 简称 HA 测试中集群是可以不需要高可用的 即使用一个namenode即可 但是在生产环境中为了提高集群的可靠性 需要增加一个namenode备
  • 遇到的有关的二进制的题目整理

    前n个数字二进制中1的个数 解答来自评论区大佬 如果正整数 i 是一个偶数 那么 i 相当于将 i 2 左移一位的结果 因此偶数 i 和 i 2 的二进制形式 1 的个数是一样的 如果 i 是奇数 那么 i 相当于将 i 2 左移一位之后再
  • MySQL索引在关联查询中的作用

    索引关联理解 inner join left join 如果是inner join的话 一边有索引就可以了 如果是left join 主表可以不用索引 但另外张就要索引 切记 小表驱动大表 给被驱动表建立索引 EXPLAIN语句分析出来的第
  • 【剑指 Offer】剑指 Offer 22. 链表中倒数第k个节点

    目录标题 算法汇总 题目 关键点 代码 1 解体方法 思路 代码 时间和空间复杂度 2 解题方法 如暴力法 思路 代码 时间和空间复杂度 算法汇总 以下是所有算法汇总 包括GitHub源码地址链接 力扣算法练习汇总 持续更新 题目 剑指 O
  • 数据结构学习系列之单向链表的查找与修改

    单向链表的查找 根据单向链表数据结点的位置查找数据 代码如下 示例代码 int search link list node t phead int pos int data if NULL phead NULL data printf 入参
  • lua中使用json:table转json与json转table

    直接上代码 json lua JSON4Lua JSON encoding decoding support for the Lua language json Module Author Craig Mason Jones Homepag
  • 基于mybatis拦截器实现数据权限

    需求场景 业务要求对列表查询功能添加数据权限控制 比如 给用户A针对某些订单模块设置一些查询条件 比如地址 山东 运输方式 空运 商品大类 家电 当用户访问订单模块时 只能访问满足这些条件的数据 需求分析 要实现动态条件拼接 需要在执行查询
  • 解析LDO的基本原理与主要参数

    低压差线性稳压器 LDO 的基本电路如图1 1所示 该电路由串联调整管VT 取样电阻R1和R2 比较放大器A组成 取样电压加在比较器A的同相输入端 与加在反相输入端的基准电压Uref相比较 两者的差值经放大器A放大后 控制串联调整管的压降
  • 过滤器实现网站访问计数

    创建一个过滤器 实现网站访问计数器的功能 并在web xml文件的配置中将网站访问量的初始值设置为5000 创建名称为CountFilter的类 创建名称为CountFilter的类 该类实现javax servlet Filter接口 是
  • tf-faster-rcnn config.py 参数详解

    import os import os path as osp import numpy as np pip install easydict if you don t have it from easydict import EasyDi
  • Django 项目学习

    目录 一 环境问题 1 python环境安装 2 django安装 3 IDE选择 二 Django命令 实际使用在后面文章中介绍 三 Django项目和应用的关系 1 Django项目中目录介绍 3 Django应用中目录介绍 四 Dja
  • 嵌入式开发——uboot如何启动内核(以zImage详解)

    1 vmlinuz vmlinux Image zImage与uImage的区别 参考博客 vmlinuz vmlinux Image zImage与uImage的区别 uboot启动内核的大致步骤 1 首先uboot要通过读取SD卡 fl
  • 单路服务器芯片组的发展

    服务器的质保一般为3到5年 但是有的服务器会使用超过十年 所以学习服务器硬件知识 不仅要学习新的知识 还要学习老的 旧的知识 一 单路服务器芯片组发展简介 Q3 06 英特尔发布了3000系列芯片组 其中包括3000和3010芯片组 使用7
  • Android框架BRVAH使用指南

    BRVAH BaseRecyclerViewAdapterHelper 是一个强大并且灵活的RecyclerViewAdapter 集成了大部分列表常用需求解决方案 1 框架引入 将JitPack存储库添加到您的构建文件中 项目根目录下bu
  • Recat 鼠标移动实时显示坐标

    一 React实时显示鼠标坐标事件 从react解构两种方法 import useState useEffect from react 定义方法 状态管理 function useOnMouse var page setPage useSt