useReducer

The useReducer hook is usually preferred for managing more complex state logic.

Snippet:

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

Example:

const [state, dispatch] = useReducer(reducer, { count: 0 });