In a Music Shop Application using React, event handling is crucial for user interactions. Here's how to manage events effectively:
Using Event Handlers
Attach event handlers like onClick, onChange, etc.
<button onClick={handleBuy}>Buy Now</button>
Handling Input Changes
Use state to capture user inputs like search or quantity selection.
const [search, setSearch] = useState('');
<input type="text" value={search} onChange={(e) => setSearch(e.target.value)} />
Managing Cart Actions
Add items to the cart with event handlers.
const addToCart = (item) => setCart([...cart, item]);
<button onClick={() => addToCart(item)}>Add to Cart</button>
Handling API Requests
Fetch products dynamically.
useEffect(() => {
fetch('/api/products')
.then(res => res.json())
.then(data => setProducts(data));
}, []);
Event Delegation (For Lists)
Handle click events for multiple items efficiently.
const handleItemClick = (id) => console.log(`Clicked item ${id}`);
<ul>
{products.map((item) => (
<li key={item.id} onClick={() => handleItemClick(item.id)}>{item.name}</li>
))}
</ul>