Mode:
Duration:
1
Coding works best on desktop or with an external keyboard.
Coding works best on desktop or with an external keyboard.
Uses an array of button configs to render counter buttons dynamically.
import { useState } from 'react';
export default function Counter() {
const [count, setCount] = useState(0);
const [isDark, setIsDark] = useState(false);
const buttons = [
{ label: '+', action: () => setCount(count + 1) },
{ label: '-', action: () => setCount(count - 1) },
{ label: 'Reset', action: () => setCount(0) }
];
return (
<div className={isDark ? 'dark-theme' : 'light-theme'} style={{ padding: '2rem', textAlign: 'center' }}>
<h2>Counter: {count}</h2>
{buttons.map((btn, idx) => <button key={idx} onClick={btn.action}>{btn.label}</button>)}
<button onClick={() => setIsDark(!isDark)}>Switch Theme</button>
<style jsx>{`
.dark-theme { background: #222; color: #eee; min-height: 100vh; }
.light-theme { background: #fff; color: #000; min-height: 100vh; }
button { margin: 0 0.5rem; }
`}</style>
</div>
);
}Next.js is a powerful React framework for building modern full-stack web applications with features like server-side rendering, static generation, routing, API endpoints, and server components. It emphasizes performance, scalability, and developer experience.
Origin & Creator
Created in 2016 by Guillermo Rauch and maintained by Vercel, designed to simplify server-rendered React applications.
Industrial Note
Next.js excels in enterprise-grade applications, JAMstack workflows, SEO-critical websites, dashboards, and scalable full-stack React platforms.