Bersyarat menukar className kepada modul css (React)
<p>Saya cuba memainkan animasi apabila pengguna menuding pada bar navigasi tapak web saya. Saya cuba mencapai ini dengan menukar modul css berdasarkan sama ada tetikus melayang di atas bar navigasi. Saya cuba memikirkan mengapa kod ini tidak berfungsi. Sebarang bantuan amat dihargai! </p>
<p>Navbar.jsx:</p>
<pre class="brush:php;toolbar:false;">import React, { useState } daripada "react";
import { Pautan } daripada "react-router-dom";
import gaya daripada "../styles/Navbar.module.css";
const Navbar = () =>
const [className, setClassName] = useState("line-after");
kembali (
<div
className="navbar"
onMouseEnter={() => setClassName("line::before")}
onMouseLeave={() => setClassName("line-after")}
>
<nav>
<Pautkan ke="/about" className="home-page">
Bob
<br />
Jones
</Pautan>
<ul>
<li>
<Pautan ke="/about" className="about-page">
Tentang
</Pautan>
</li>
<li>
<Pautan ke="/resume" className="resume-page">
Sambung semula
</Pautan>
</li>
<li>
<Pautan ke="/contact" className="contact-page">
Kenalan
</Pautan>
</li>
</ul>
</nav>
<div className={styles.className}></div>
</div>
);
};
eksport Navbar lalai;</pre>
<p>Modul css:</p>
<pre class="brush:php;toolbar:false;">.line::before {
kandungan: "";
jawatan: mutlak;
atas: 0;
kiri: 0;
lebar: 55px;
ketinggian: 1px;
latar belakang: hitam;
animasi-nama: bernyawa;
tempoh animasi: 1s;
}
.line-after {
jidar: 40px 40px 40px 40px;
lebar: 55px;
ketinggian: 1px;
latar belakang: putih;
kedudukan: relatif;
}
@keyframes menghidupkan {
0% {
kiri: 0;
}
100% {
kiri: 100%;
}
}</pre>
<p>Saya menukar keadaan className apabila tetikus keluar dan memasuki bar navigasi. Walau bagaimanapun, ia mengatakan bahawa className pembolehubah keadaan saya tidak pernah digunakan, jadi saya fikir itulah masalahnya. Tidak pasti bagaimana untuk membetulkannya. </p>