Cara Menggayakan Arahkan Arah di React

Pengantar

Bekerja dengan visual adalah cara terbaik untuk menjaga antarmuka kami tetap interaktif dan untuk menarik perhatian pengguna. Memiliki objek yang dianimasikan di layar kami menciptakan pengalaman unik dan meningkatkan interaktivitas.

Pada artikel ini, kita akan belajar bagaimana melakukan style hover di React menggunakan CSS, serta bagaimana melakukan styling inline hover.

Arahkan kursor adalah kelas semu yang memungkinkan kita menambahkan gaya tertentu untuk membuat pengguna sadar saat mouse mereka aktif dan nonaktif pada elemen tertentu. Untuk artikel ini, kami akan menggunakan kotak:

const App = () => {
   return (
      <div>
         <div className="box">
            <p>Hover me!</p>
         </div>
      </div>
   );
};

yang memiliki gaya dasar ini:

.box {
   height: 200px;
   width: 200px;
   background-color: rgb(0, 191, 255);
   display: flex;
   justify-content: center;
   align-items: center;
   font-size: 30px;
   cursor: pointer;
}

Pada dasarnya, kami akan mengubah warna latar belakang menjadi lightblue saat mouse berada di atas kotak dan kemudian mengembalikannya ke gaya default saat mouse dilepas.

Cara Menggayakan Arahkan Arah di React

Ada dua pendekatan untuk ini: eksternal dan inline. Eksternal melibatkan memiliki file CSS terpisah yang memudahkan gaya untuk mengarahkan kursor, sedangkan gaya sebaris tidak memungkinkan kita untuk menata gaya dengan kelas semu, tetapi kita akan mempelajari cara menata kursor dalam CSS sebaris dengan menggunakan peristiwa mouse di artikel ini.

Cara Menggayakan Arahkan Arah di React Dengan Gaya Eksternal CSS

Ini sangat mirip dengan cara kerja HTML dan CSS; yang harus kita lakukan adalah memberikan elemen a className (Tidak class) atau gunakan tag sebagai pemilih yang akan kita targetkan dan kemudian gayakan kelas pseudo hover:

.box {
   height: 200px;
   width: 200px;
   background-color: rgb(0, 191, 255);
   display: flex;
   justify-content: center;
   align-items: center;
   font-size: 30px;
   cursor: pointer;
}

.box:hover {
   background-color: lightblue;
}

Yang kami lakukan hanyalah menambahkan :hover pseudo class ke pemilih gaya sebelumnya dan ubah properti apa pun yang ingin kita ubah saat mouse berada di atas elemen.

Cara Menata Arahkan Arahkan kursor ke dalam React Dengan Penataan Sebaris

Dengan penataan sebaris, yang kami maksud adalah penataan melalui tag elemen, yang dilakukan dengan style atribut. Jika kita ingin mengonversi kode sebelumnya menjadi gaya sebaris:

const App = () => {
   return (
      <div>
         <div
            style={{
               height: '200px',
               width: '200px',
               backgroundColor: 'rgb(0, 191, 255)',
               display: 'flex',
               justifyContent: 'center',
               alignItems: 'center',
               fontSize: '30px',
               cursor: 'pointer',
            }}
         >
            <p>Hover me!</p>
         </div>
      </div>
   );
};

Memiliki gaya seperti ini yang berulang dalam Aplikasi kita dapat membuat sulit untuk dibaca, jadi kita dapat membuat objek gaya jika kita hanya menata satu objek pada halaman, dan tidak perlu membuat file untuk itu:

const App = () => {

const boxStyle = {
   height: '200px',
   width: '200px',
   backgroundColor: 'rgb(0, 191, 255)',
   display: 'flex',
   justifyContent: 'center',
   alignItems: 'center',
   fontSize: '30px',
   cursor: 'pointer',
};

   return (
      <div>
         <div style={boxStyle}>
            <p>Hover me!</p>
         </div>
      </div>
   );
};

Sejauh ini, kami telah membangun kotak kami. Untuk menata hover dengan CSS sebaris di React, kami secara kondisional menyetel gaya sebaris menggunakan status, serta onMouseEnter dan onMouseLeave props, yang memberi tahu kami kapan mouse ada di elemen dan kapan tidak:

import { useState } from 'react';

const App = () => {
   const [isHover, setIsHover] = useState(false);

   const handleMouseEnter = () => {
      setIsHover(true);
   };
   const handleMouseLeave = () => {
      setIsHover(false);
   };

   const boxStyle = {
      <!-- ... -->
   };

   return (
      <div>
         <div
            style={boxStyle}
            onMouseEnter={handleMouseEnter}
            onMouseLeave={handleMouseLeave}
         >
            <p>Hover me!</p>
         </div>
      </div>
   );
};

Pada titik ini, kita dapat menata properti apa pun secara kondisional menggunakan *isHover* negara:

const boxStyle = {
   
   backgroundColor: isHover ? 'lightblue' : 'rgb(0, 191, 255)',
};

Sejauh ini, kami telah melihat bagaimana menerapkannya. Sekarang, mari kita urai kode kita dan jelaskan mengapa kita menggunakan sintaks yang kita lakukan. Kami mulai dengan membuat status yang menyimpan nilai boolean yang menunjukkan saat melayang terjadi (true) dan sebaliknya (secara default disetel ke false):

const [isHover, setIsHover] = useState(false);

Kami kemudian juga menambahkan dua acara ke div untuk membantu mengubah status kami dan mengetahui kapan mouse ada di dalam kotak dan kapan di luar kotak:

<div
   style={boxStyle}
   onMouseEnter={handleMouseEnter}
   onMouseLeave={handleMouseLeave}
>
   <p>Hover me!</p>
</div>

Grafik onMouseEnter acara dipicu ketika mouse memasuki elemen, sementara onMouseLeave acara dipicu ketika ia pergi. Kami menetapkan fungsi untuk masing-masing peristiwa ini, yang sekarang kami gunakan untuk mengubah status:

const handleMouseEnter = () => {
   setIsHover(true);
};

const handleMouseLeave = () => {
   setIsHover(false);
};

Lihat panduan praktis dan praktis kami untuk mempelajari Git, dengan praktik terbaik, standar yang diterima industri, dan termasuk lembar contekan. Hentikan perintah Googling Git dan sebenarnya belajar itu!

Kami mengatur state di setiap fungsi berdasarkan peristiwa yang dipicu. Akhirnya, kita dapat menggunakan status untuk menata kotak secara kondisional tidak hanya untuk backgroundColor, tetapi juga untuk gaya lainnya:

const boxStyle = {
   
   backgroundColor: isHover ? 'lightblue' : 'rgb(0, 191, 255)',
   color: isHover ? 'red' : 'green',
};

Saat kita menggabungkan semua ini, kita sekarang dapat menata hover di React dengan gaya Inline:

import { useState } from 'react';

const App = () => {
   const [isHover, setIsHover] = useState(false);

   const handleMouseEnter = () => {
      setIsHover(true);
   };

   const handleMouseLeave = () => {
      setIsHover(false);
   };

   const boxStyle = {
      height: '200px',
      width: '200px',
      display: 'flex',
      justifyContent: 'center',
      alignItems: 'center',
      fontSize: '30px',
      cursor: 'pointer',
      backgroundColor: isHover ? 'lightblue' : 'rgb(0, 191, 255)',
      color: isHover ? 'red' : 'green',
   };

   return (
      <div>
         <div
            style={boxStyle}
            onMouseEnter={handleMouseEnter}
            onMouseLeave={handleMouseLeave}
         >
            <p>Hover me!</p>
         </div>
      </div>
   );
};

export default App;

Kesimpulan

Kami mempelajari cara menata hover di React menggunakan gaya eksternal dan gaya sebaris di artikel ini. Meskipun penataan sebaris tidak disarankan, akan sangat berguna untuk memahami cara kerjanya jika kita diminta untuk menggunakannya.

Stempel Waktu:

Lebih dari penyalahgunaan