1. Home
  2. /
  3. React
  4. /
  5. useReducer Counter

useReducer Counter - React Typing CST Test

Loading…

useReducer Counter — React Code

Manages counter state using useReducer hook for more complex logic.

import React, { useReducer } from 'react';

const reducer = (state, action) => {
	switch(action.type) {
		case 'INCREMENT': return { count: state.count + 1 };
		case 'DECREMENT': return { count: state.count - 1 };
		case 'RESET': return { count: 0 };
		default: return state;
	}
};

const ReducerCounter = () => {
	const [state, dispatch] = useReducer(reducer, { count: 0 });
	return (
		<div>
		<h2>Count: {state.count}</h2>
		<button onClick={() => dispatch({type: 'INCREMENT'})}>+</button>
		<button onClick={() => dispatch({type: 'DECREMENT'})}>-</button>
		<button onClick={() => dispatch({type: 'RESET'})}>Reset</button>
		</div>
	);
};

export default ReducerCounter;

React Language Guide

React is a declarative, component-based JavaScript library for building user interfaces, primarily for single-page applications. It allows developers to create reusable UI components and manage application state efficiently.

Primary Use Cases

  • ▸Single-page web applications (SPAs)
  • ▸Dynamic user interfaces for web apps
  • ▸Mobile apps via React Native
  • ▸Reusable component libraries
  • ▸Interactive dashboards and admin panels

Notable Features

  • ▸Component-based architecture
  • ▸Virtual DOM for optimized rendering
  • ▸JSX syntax for combining HTML and JS
  • ▸One-way data binding (props)
  • ▸Hooks for state and lifecycle management

Origin & Creator

Developed by Jordan Walke at Facebook in 2013.

Industrial Note

React is specialized for building dynamic, responsive web and mobile UIs, particularly in SPA and complex front-end applications.

More React Typing Exercises

React Counter with useStateReact Theme Toggle with ContextReact Todo List with useStateReact Fetch Data with useEffectReact Form HandlingReact Modal ComponentReact Context Counter ExampleReact Tab ComponentReact LocalStorage Counter

Practice Other Languages

CPythonC++RustTypeScriptKotlinPHPJavaC#RubyMqlCqlN1qlCypherGremlin