1. Home
  2. /
  3. Inferno
  4. /
  5. Counter with Min/Max

Counter with Min/Max - Inferno Typing CST Test

Loading…

Counter with Min/Max — Inferno Code

Counter with maximum and minimum limits.

import { render, Component } from 'inferno';

class Counter extends Component {
	state = { count: 0, min: 0, max: 10, isDark: false };

	increment = () => this.setState({ count: Math.min(this.state.count + 1, this.state.max) });
	decrement = () => this.setState({ count: Math.max(this.state.count - 1, this.state.min) });
	reset = () => this.setState({ count: 0 });
	toggleTheme = () => this.setState({ isDark: !this.state.isDark });

	render() {
		return (
		<div className={this.state.isDark ? 'dark-theme' : 'light-theme'}>
		<h2>Counter: {this.state.count}</h2>
		<div>
		<button onClick={this.increment}>+</button>
		<button onClick={this.decrement}>-</button>
		<button onClick={this.reset}>Reset</button>
		</div>
		<button onClick={this.toggleTheme}>Toggle Theme</button>
		</div>
		);
	}
}

render(<Counter />, document.body);

Inferno Language Guide

Inferno.js is an extremely fast, lightweight JavaScript library for building high-performance user interfaces. It uses a React-like API and Virtual DOM but is optimized for speed, small size, and predictable rendering.

Primary Use Cases

  • ▸High-performance SPAs
  • ▸Real-time dashboards and charts
  • ▸Embedded widgets with small footprint
  • ▸React-compatible environments needing speed
  • ▸Apps requiring extremely fast client-side rendering

Notable Features

  • ▸Ultra-fast Virtual DOM (faster than React in many benchmarks)
  • ▸React-like components and lifecycle
  • ▸Small bundle size (~9 KB)
  • ▸Server-side rendering support
  • ▸Partial React API compatibility

Origin & Creator

Created by Dominic Gannaway in 2016 as a high-performance alternative to React, with an emphasis on speed and small bundle size.

Industrial Note

Inferno is primarily used in performance-sensitive environments like financial dashboards, advertising tech, streaming interfaces, and embedded web widgets.

More Inferno Typing Exercises

Inferno Simple CounterInferno Counter with StepInferno Counter with Auto IncrementInferno Counter with Double IncrementInferno Counter with Even/Odd IndicatorInferno Counter with LocalStorageInferno Counter with Color Themes

Practice Other Languages

CReactPythonC++RustTypeScriptKotlinPHPJavaC#RubyMqlCqlN1qlCypher