1. Home
  2. /
  3. Qwik
  4. /
  5. Full Featured Counter

Full Featured Counter - Qwik Typing CST Test

Loading…

Full Featured Counter — Qwik Code

Combines step, history, auto-increment, and theme toggle in a single Qwik component.

import { component$, useStore, useTask$ } from '@builder.io/qwik';

export const FullCounter = component$(({ step = 2, autoIncrement = true }) => {
	const state = useStore({ count: 0, history: [], isDark: false });
	const updateHistory = (action) => state.history.push(action);
	useTask$(() => {
		if(autoIncrement){
		const interval = setInterval(() => { state.count += step; updateHistory('Auto increment'); }, 1000);
		return () => clearInterval(interval);
		}
	});
	return (
		<div class={state.isDark ? 'dark-theme' : 'light-theme'}>
		<h2>Counter: {state.count}</h2>
		<div>History: {state.history.join(', ')}</div>
		<button onClick$={() => { state.count += step; updateHistory('Increment'); }}>+</button>
		<button onClick$={() => { state.count -= step; updateHistory('Decrement'); }}>-</button>
		<button onClick$={() => { state.count = 0; updateHistory('Reset'); }}>Reset</button>
		<button onClick$={() => state.isDark = !state.isDark}>Toggle Theme</button>
		</div>
	);
});

Qwik Language Guide

Qwik is a next-generation, ultra-fast web framework designed around resumability instead of hydration, enabling instant loading, fine-grained lazy execution, and optimal performance for large-scale interactive applications.

Primary Use Cases

  • ▸High-performance websites
  • ▸SEO-critical pages
  • ▸Large apps with heavy JS footprints
  • ▸E-commerce storefronts
  • ▸PWAs and edge-rendered apps

Notable Features

  • ▸Resumability (no hydration needed)
  • ▸Qwik City routing and SSR
  • ▸Fine-grained lazy-loading of everything
  • ▸Streaming SSR on the edge
  • ▸Optimized for Core Web Vitals

Origin & Creator

Created by Miško Hevery (creator of Angular) and developed by Builder.io, officially introduced in 2021.

Industrial Note

Qwik is ideal for ultra-performance-critical sites, marketing pages, e-commerce, dashboards, and massive interactive apps with strict Core Web Vitals budgets.

More Qwik Typing Exercises

Qwik Counter ComponentQwik Counter with Max LimitQwik Counter with Step IncrementQwik Counter with Auto-IncrementQwik Counter with Conditional ThemeQwik Counter with HistoryQwik Counter with Dark Mode Toggle OnlyQwik Counter with Lambda Actions

Practice Other Languages

CReactPythonC++RustTypeScriptKotlinPHPJavaC#RubyMqlCqlN1qlCypher