React Auto Increment Counter - Ionic Typing CST Test
Loading…
React Auto Increment Counter — Ionic Code
Ionic React counter example that automatically increments every second.
import React, { useState, useEffect } from 'react';
import { IonApp, IonContent, IonHeader, IonToolbar, IonTitle, IonText, IonButton } from '@ionic/react';
const AutoCounter = () => {
const [count, setCount] = useState(0);
const [isRunning, setIsRunning] = useState(true);
useEffect(() => {
const interval = setInterval(() => {
if(isRunning) setCount(c => c+1);
}, 1000);
return () => clearInterval(interval);
}, [isRunning]);
return (
<IonApp>
<IonHeader>
<IonToolbar>
<IonTitle>Auto Counter</IonTitle>
</IonToolbar>
</IonHeader>
<IonContent className="ion-padding" style={{textAlign:'center'}}>
<IonText><h2>Counter: {count}</h2></IonText>
<IonButton onClick={() => setIsRunning(!isRunning)}>{isRunning ? 'Pause' : 'Resume'}</IonButton>
<IonButton onClick={() => setCount(0)}>Reset</IonButton>
</IonContent>
</IonApp>
);
}
export default AutoCounter;Ionic Language Guide
Ionic Framework is an open-source UI toolkit for building high-quality, cross-platform mobile, desktop, and web apps using web technologies like HTML, CSS, and JavaScript, often paired with Angular, React, or Vue.
Primary Use Cases
- ▸Cross-platform mobile apps (iOS, Android)
- ▸Progressive Web Apps (PWA)
- ▸Desktop apps via Electron
- ▸Single Page Applications (SPA)
- ▸Rapid prototyping of mobile-first interfaces
Notable Features
- ▸Prebuilt mobile-optimized UI components
- ▸Cross-platform support for Web, Mobile, and Desktop
- ▸Integration with Angular, React, and Vue
- ▸Theming with CSS variables and Ionic theming
- ▸CLI tooling for scaffolding, building, and deploying apps
Origin & Creator
Created by Max Lynch, Ben Sperry, and Adam Bradley of Drifty Co. in 2013 to simplify hybrid mobile app development.
Industrial Note
Ionic is widely used in enterprise mobile apps, PWAs, and hybrid apps that need native-like performance across multiple platforms.