În lumea dinamică a dezvoltării React, cârligele au revoluționat modul în care gestionăm starea și efectele secundare în componentele funcționale. Printre diferitele tipuri de evenimente pe care le putem gestiona, evenimentele mouse-ului sunt deosebit de importante, deoarece ne permit să creăm interfețe de utilizator interactive și captivante. În calitate de furnizor de top de cârlige, înțelegem complexitatea utilizării cârligelor pentru evenimentele mouse-ului în React și, în acest blog, vom explora cum să le folosim eficient.
Înțelegerea evenimentelor mouse-ului în React
Înainte de a vă scufunda în cârlige, este esențial să înțelegeți diferitele evenimente de mouse disponibile în React. React oferă un set de evenimente sintetice care sunt compatibile între browsere și imită evenimentele DOM native. Unele dintre cele mai frecvent utilizate evenimente mouse includonMouseEnter,onMouseLeave,onMouseDown,peMouseUp, șionClick.


onMouseEnter: Acest eveniment este declanșat când cursorul mouse-ului intră într-un element. Este util pentru a crea efecte de trecere cu mouse-ul, cum ar fi afișarea de informații suplimentare atunci când un utilizator trece cu mouse-ul peste o imagine sau un buton.onMouseLeave: Vizavi deonMouseEnter, acest eveniment se declanșează când indicatorul mouse-ului părăsește un element. Poate fi folosit pentru a ascunde informațiile suplimentare care au fost afișate peonMouseEnter.onMouseDown: Se declanșează atunci când utilizatorul apasă butonul mouse-ului în timp ce indicatorul este peste un element. Acesta poate fi folosit pentru acțiuni precum pornirea unei operații de glisare și plasare.peMouseUp: Se declanșează atunci când utilizatorul eliberează butonul mouse-ului în timp ce indicatorul este peste un element. Poate fi asociat cuonMouseDownpentru a finaliza o acțiune de glisare și plasare.onClick: O combinație deonMouseDownşipeMouseUpevenimente,onClickeste utilizat pentru gestionarea acțiunilor de clic pe elemente, cum ar fi trimiterea unui formular sau navigarea către o pagină nouă.
FolosinduseStateCârlig pentru evenimente Mouse
TheuseStatehook este unul dintre cele mai fundamentale cârlige din React. Ne permite să adăugăm stare componentelor funcționale. Putem folosiuseStatepentru a gestiona schimbările de stare declanșate de evenimentele mouse-ului.
Să luăm un exemplu de creare a unui buton simplu care își schimbă culoarea atunci când mouse-ul trece peste el.
import React, { useState } din 'react'; const HoverButton = () => { const [isHovered, setIsHovered] = useState(false); const handleMouseEnter = () => { setIsHovered(true); }; const handleMouseLeave = () => { setIsHovered(false); }; const buttonStyle = { backgroundColor: isHovered? „albastru” : „gri”, culoare: „alb”, umplutură: „10px 20px”, chenar: „niciun”, borderRadius: „5px”}; return ( <button style={buttonStyle} onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave} > Hover Me </button> ); }; export implicit HoverButton;
În acest exemplu, folosimuseStatecârlig pentru a gestionaeste Hoveredstat. Când mouse-ul intră pe butonul (onMouseEntereveniment), am stabiliteste Hoveredlaadevărat, iar când mouse-ul pleacă (onMouseLeaveeveniment), l-am restabilitfals. Pe baza valorii deeste Hovered, schimbăm culoarea de fundal a butonului.
FolosinduseEffectCârlig pentru evenimente Mouse
TheuseEffectcârligul este utilizat pentru efectuarea efectelor secundare în componentele funcționale. Îl putem folosi pentru a gestiona evenimentele mouse-ului în scenarii mai complexe, cum ar fi adăugarea de ascultători de evenimente globale.
Să presupunem că vrem să detectăm când utilizatorul face clic în afara unui modal. Putem folosiuseEffecthook pentru a adăuga un ascultător global de evenimente clic la document.
import React, { useState, useEffect, useRef } din 'react'; const Modal = () => { const [isOpen, setIsOpen] = useState(false); const modalRef = useRef(null); const openModal = () => { setIsOpen(true); }; const closeModal = () => { setIsOpen(false); }; useEffect(() => { const handleClickOutside = (eveniment) => { if (modalRef.current &&!modalRef.current.contains(event.target)) { closeModal(); } }; document.addEventListener('mousedown', handleClickOutside); return () => useL handler,'Outside); }; }, []); return ( <div> <button onClick={openModal}>Open Modal</button> {isOpen && ( <div ref={modalRef} className="modal"> <div className="modal-content"> <h2>Titlul modal</h2> <p>Conținutul modal merge aici.</p> <button>Close onClick. </div> </div> )} </div> ); }; export implicit Modal;
În acest exemplu, folosimuseEffectcârlig pentru a adăuga ojos mouse-ulascultător de eveniment la document. Când utilizatorul face clic în afara modalului (determinat prin verificarea dacă ținta clicului nu se află în interiorul modalului folosindconţinemetoda), închidem modalul. De asemenea, curățăm ascultătorul de evenimente în funcția de returnare auseEffectpentru a evita scurgerile de memorie.
Cârlige personalizate pentru evenimente mouse
În calitate de furnizor de cârlige, încurajăm utilizarea cârligelor personalizate pentru a încapsula logica complexă legată de evenimentele mouse-ului. Un cârlig personalizat este o funcție JavaScript al cărei nume începe cuutilizareși pot chema alte cârlige.
Să creăm un cârlig personalizat numituseMousePositioncare urmărește poziția mouse-ului pe ecran.
import React, { useState, useEffect } din 'react'; const useMousePosition = () => { const [mousePosition, setMousePosition] = useState({ x: 0, y: 0 }); const handleMouseMove = (eveniment) => { setMousePosition({ x: event.clientX, y: event.clientY }); }; useEffect(() => { window.addEventListener('mousemove', handleMouseMove); return () => { window.removeEventListener('mousemove', handleMouseMove); }; }, []); return mousePosition; }; const MousePositionTracker = () => { const { x, y } = useMousePosition(); return ( <div> <p>Poziția mouse-ului: ({x}, {y})</p> </div> ); }; export implicit MousePositionTracker;
Acest cârlig personalizatuseMousePositionfoloseșteuseStateşiuseEffectcârlige pentru a urmări poziția mouse-ului. Se adaugă omousemoveascultător de evenimente la fereastră și actualizează starea cu coordonatele curente ale mouse-ului. Cârligul poate fi reutilizat în mai multe componente pentru a urmări poziția mouse-ului.
Ofertele noastre de produse
În calitate de furnizor de cârlige, oferim o gamă largă de cârlige de înaltă calitate pentru diverse aplicații. Dacă sunteți în căutarea unor cârlige pentru tuburi dreptunghiulare, consultați-neCârlig pentru tuburi dreptunghiulare. Aceste cârlige sunt proiectate pentru a oferi o conexiune sigură și fiabilă pentru tubulatura dreptunghiulară, asigurând stabilitate și durabilitate.
Pentru aplicațiile de rafturi de supermarket, nostruCârlig pentru linia de raft pentru supermarketeste o alegere excelenta. Aceste cârlige sunt concepute special pentru a ține produse pe rafturile supermarketurilor, facilitând accesul clienților și selectarea articolelor.
Contactați-ne pentru achiziții
Dacă sunteți interesat de produsele noastre cu cârlige sau aveți întrebări despre utilizarea cârligelor pentru evenimentele mouse-ului în React, ne-ar plăcea să aflăm de la dvs. Indiferent dacă sunteți un dezvoltator la scară mică sau o întreprindere la scară largă, vă putem oferi cârligele potrivite nevoilor dumneavoastră. Contactați-ne pentru a începe o discuție de achiziție și pentru a găsi cele mai bune soluții pentru proiectele dumneavoastră.
Referințe
- Reacționați documentația oficială pe cârlige
- Ghiduri de gestionare a evenimentelor DOM JavaScript
