1. Home
  2. /
  3. Astro
  4. /
  5. Counter with Double Step

Counter with Double Step - Astro Typing CST Test

Loading…

Counter with Double Step — Astro Code

A counter component in Astro that increments/decrements by 2 each time.

---
import StepCounter from '../components/StepCounter.jsx';
---
<html>
	<body>
		<h1>Astro Step Counter</h1>
		<StepCounter step={2} />
	</body>
</html>

// components/StepCounter.jsx
import { useState } from 'react';
export default function StepCounter({ step }) {
	const [count, setCount] = useState(0);
	return (
		<div>
		<h2>Counter: {count}</h2>
		<button onClick={() => setCount(count + step)}>+</button>
		<button onClick={() => setCount(count - step)}>-</button>
		<button onClick={() => setCount(0)}>Reset</button>
		</div>
	);
}

Astro Language Guide

Astro is a modern, content-focused web framework designed for building fast, optimized websites using a 'bring your own framework' philosophy and a server-first, zero-JS-by-default approach.

Primary Use Cases

  • ▸Marketing and landing pages
  • ▸Blogs and documentation sites
  • ▸Static content-heavy websites
  • ▸Hybrid static + server-rendered content
  • ▸Sites using multiple UI frameworks together

Notable Features

  • ▸Zero-JS by default
  • ▸Island architecture
  • ▸Partial hydration for interactive components
  • ▸Markdown & MDX first-class support
  • ▸Framework-agnostic component system

Origin & Creator

Created by Fred Schott and the Astro core team, originally launched in 2021 as an open-source initiative focused on performance-first web development.

Industrial Note

Astro excels in content-heavy sites like blogs, documentation, marketing pages, and any project prioritizing high performance and minimal client-side JavaScript.

More Astro Typing Exercises

Astro Counter ComponentAstro Counter with Max LimitAstro Counter with HistoryAstro Counter with Auto-IncrementAstro Counter with Conditional ThemeAstro Counter with Lambda HandlersAstro Counter with Custom StepAstro Counter with Dark Mode Toggle OnlyAstro Counter with Combined Features

Practice Other Languages

CReactPythonC++RustTypeScriptKotlinPHPJavaC#RubyMqlCqlN1qlCypher