Yesterday:
<nav script="dropdown.js" style="dropdown.css">
<button onclick="toggleDropdown()">Menu</button>
</nav>
Today:
// index.js
import React from 'react';
import ReactDOM from 'react-dom';
import './global.css';
import App from './App';
ReactDOM.createRoot(document.getElementById('root')).render(<App />);
// App.jsx
import Dropdown from './components/Dropdown';
import './App.css';
export default function App() {
return (
<main>
<Dropdown />
<p>Hello, world!</p>
</main>
);
}
// components/Dropdown.jsx
import { useState } from 'react';
import styles from './Dropdown.module.css';
import ArrowIcon from '../assets/icons/ArrowIcon.jsx';
export default function Dropdown() {
const [open, setOpen] = useState(false);
return (
<div className={styles.dropdown}>
<button onClick={() => setOpen(!open)}>Menu <ArrowIcon /></button>
{open && (
<ul>
<li>Option 1</li>
<li>Option 2</li>
</ul>
)}
</div>
);
}