For AI agents: the complete documentation index is available at /next/llms.txt, the full documentation bundle is available at /next/llms-full.txt, and this page is available as Markdown at /next/api/react/Function.useReducer.md.
  • English
  • @lynx-js/react / useReducer

    Function: useReducer()

    useReducer(reducer, initializerArg, initializer)

    function useReducer<R, I>(
       reducer: R, 
       initializerArg: I, 
       initializer: (arg: I) => ReducerStateWithoutAction<R>): [ReducerStateWithoutAction<R>, DispatchWithoutAction]

    An alternative to useState.

    useReducer is usually preferable to useState when you have complex state logic that involves multiple sub-values. It also lets you optimize performance for components that trigger deep updates because you can pass dispatch down instead of callbacks.

    Type Parameters

    Type Parameter
    R extends ReducerWithoutAction<any>
    I

    Parameters

    ParameterType
    reducerR
    initializerArgI
    initializer(arg: I) => ReducerStateWithoutAction<R>

    Returns

    [ReducerStateWithoutAction<R>, DispatchWithoutAction]

    Version

    16.8.0

    See

    https://react.dev/reference/react/useReducer

    Defined in

    .pnpm/@types+react@18.3.28/node_modules/@types/react/ts5.0/index.d.ts:1904

    useReducer(reducer, initializerArg, initializer)

    function useReducer<R>(
       reducer: R, 
       initializerArg: ReducerStateWithoutAction<R>, 
       initializer?: undefined): [ReducerStateWithoutAction<R>, DispatchWithoutAction]

    An alternative to useState.

    useReducer is usually preferable to useState when you have complex state logic that involves multiple sub-values. It also lets you optimize performance for components that trigger deep updates because you can pass dispatch down instead of callbacks.

    Type Parameters

    Type Parameter
    R extends ReducerWithoutAction<any>

    Parameters

    ParameterType
    reducerR
    initializerArgReducerStateWithoutAction<R>
    initializer?undefined

    Returns

    [ReducerStateWithoutAction<R>, DispatchWithoutAction]

    Version

    16.8.0

    See

    https://react.dev/reference/react/useReducer

    Defined in

    .pnpm/@types+react@18.3.28/node_modules/@types/react/ts5.0/index.d.ts:1920

    useReducer(reducer, initializerArg, initializer)

    function useReducer<R, I>(
       reducer: R, 
       initializerArg: I & ReducerState<R>, 
       initializer: (arg: I & ReducerState<R>) => ReducerState<R>): [ReducerState<R>, Dispatch<ReducerAction<R>>]

    An alternative to useState.

    useReducer is usually preferable to useState when you have complex state logic that involves multiple sub-values. It also lets you optimize performance for components that trigger deep updates because you can pass dispatch down instead of callbacks.

    Type Parameters

    Type Parameter
    R extends Reducer<any, any>
    I

    Parameters

    ParameterType
    reducerR
    initializerArgI & ReducerState<R>
    initializer(arg: I & ReducerState<R>) => ReducerState<R>

    Returns

    [ReducerState<R>, Dispatch<ReducerAction<R>>]

    Version

    16.8.0

    See

    https://react.dev/reference/react/useReducer

    Defined in

    .pnpm/@types+react@18.3.28/node_modules/@types/react/ts5.0/index.d.ts:1938

    useReducer(reducer, initializerArg, initializer)

    function useReducer<R, I>(
       reducer: R, 
       initializerArg: I, 
       initializer: (arg: I) => ReducerState<R>): [ReducerState<R>, Dispatch<ReducerAction<R>>]

    An alternative to useState.

    useReducer is usually preferable to useState when you have complex state logic that involves multiple sub-values. It also lets you optimize performance for components that trigger deep updates because you can pass dispatch down instead of callbacks.

    Type Parameters

    Type Parameter
    R extends Reducer<any, any>
    I

    Parameters

    ParameterType
    reducerR
    initializerArgI
    initializer(arg: I) => ReducerState<R>

    Returns

    [ReducerState<R>, Dispatch<ReducerAction<R>>]

    Version

    16.8.0

    See

    https://react.dev/reference/react/useReducer

    Defined in

    .pnpm/@types+react@18.3.28/node_modules/@types/react/ts5.0/index.d.ts:1954

    useReducer(reducer, initialState, initializer)

    function useReducer<R>(
       reducer: R, 
       initialState: ReducerState<R>, 
       initializer?: undefined): [ReducerState<R>, Dispatch<ReducerAction<R>>]

    An alternative to useState.

    useReducer is usually preferable to useState when you have complex state logic that involves multiple sub-values. It also lets you optimize performance for components that trigger deep updates because you can pass dispatch down instead of callbacks.

    Type Parameters

    Type Parameter
    R extends Reducer<any, any>

    Parameters

    ParameterType
    reducerR
    initialStateReducerState<R>
    initializer?undefined

    Returns

    [ReducerState<R>, Dispatch<ReducerAction<R>>]

    Version

    16.8.0

    See

    https://react.dev/reference/react/useReducer

    Defined in

    .pnpm/@types+react@18.3.28/node_modules/@types/react/ts5.0/index.d.ts:1979

    Except as otherwise noted, this work is licensed under a Creative Commons Attribution 4.0 International License, and code samples are licensed under the Apache License 2.0.