React的新特性,並試圖在React中編寫我的腳本,但不知道該怎麼做。我嘗試過使用狀態,但這只是讓我更加困惑。下面的代碼是我可能通常創建的一些示例。將JavaScript轉換爲使用React組件
這裏是我的腳本:
const hamburger = document.querySelector(".hamburger");
hamburger.addEventListener("click", function() {
hamburger.classList.toggle("is-active");
document.querySelector(".navigation").classList.toggle("slide-in");
document.querySelector("body").classList.toggle("menu-active");
document.querySelector(".shell-ui-main").classList.toggle("menu-overlay");
});
這是一個基本反應成分的導航欄:
import React from 'react';
export default class NavComponent extends React.Component {
render() {
return (
<div className="container">
<button className="hamburger hamburger--squeeze" type="button">
<span className="hamburger-box">
<span className="hamburger-inner"></span>
</span>
</button>
<a className="logo-link" href="/">
<img width="94" height="31" src="/img/logos/logo.png" srcSet="/img/logos/logo.png 1x, /img/logos/[email protected] 2x, /img/logos/[email protected] 3x"
alt="logo" className="logo" />
</a>
<nav className="navigation">
<ul className="nav">
<li className="single-item">
<a href="/">Home</a>
</li>
<li className="single-item">
<a href="#">Item 2</a>
</li>
<li className="single-item">
<a href="#">Item 3</a>
</li>
<li className="single-item">
<a href="#">Item 4</a>
</li>
</ul>
</nav>
</div>
);
}
}
這似乎是更多的格式化HTML的不同方法,但沒有太多處理提到的初始腳本。肯定會去使用const,因爲我覺得它更乾淨。 例如:腳本切換添加is-active類到漢堡包和一些其他元素。 –