9951 explained code solutions for 126 technologies


reactjsHow can I use the useReducer hook in a React application?


The useReducer hook is a powerful way to manage state in a React application. It allows us to define a reducer function that takes the current state and an action, and returns a new state. This makes it easy to update state in a predictable way.

Here is an example of how useReducer can be used in a React application.

const [state, dispatch] = useReducer(reducer, initialState);

function reducer(state, action) {
  switch (action.type) {
    case 'increment':
      return { count: state.count + 1 };
    case 'decrement':
      return { count: state.count - 1 };
    default:
      throw new Error();
  }
}

This example defines a reducer function that takes the current state and an action. Depending on the action type, the reducer will either increment or decrement the count. This reducer is then passed to the useReducer hook, along with the initial state. This returns an array containing the current state and a dispatch function that is used to dispatch actions.

In the example, the dispatch function is used to increment or decrement the count by dispatching the appropriate action.

dispatch({ type: 'increment' }); // Output: { count: 1 }
dispatch({ type: 'decrement' }); // Output: { count: 0 }
  • useReducer: React Documentation
  • reducer: A function that takes the current state and an action, and returns a new state.
  • dispatch: A function returned by useReducer that is used to dispatch actions.
  • action: An object that contains information about what type of action is being dispatched.

Edit this code on GitHub