UNPKG

react-use-event-reducer

Version:

A React hook for reducing state from strongly typed events.

13 lines (12 loc) 531 B
export declare type Handlers<State, Events> = { [Key in keyof Events]: (state: State, payload: Events[Key]) => State; }; declare type Emitter<Payload> = Payload extends undefined ? (payload?: undefined) => void : (payload: Payload) => void; export declare type Emitters<Events> = { [K in keyof Events]: Emitter<Events[K]>; }; export declare function useEventReducer<State, Events extends Record<string, any>>(handlers: Handlers<State, Events>, initial: State): { state: State; emit: Emitters<Events>; }; export {};