state-pool
Version:
Transform your React app with our state management library! Declare global and local states like variables, powered by the magic of React hooks 🪄✨
23 lines (22 loc) • 837 B
TypeScript
import State from './State';
import { Patcher, Reducer, Selector, StateInitializer } from './types';
export default function useReducer<T, A>(reducer: Reducer<T, A>, state: State<T> | StateInitializer<T> | T, config?: {}): [
state: T,
dispatch: (action: A) => void,
stateObject: State<T>
];
export default function useReducer<ST, A, T = unknown>(reducer: Reducer<ST, A>, state: State<T | never> | StateInitializer<T> | T, config: {
selector: Selector<ST>;
}): [
state: ST,
dispatch: (action: A) => void,
stateObject: State<T>
];
export default function useReducer<ST, A, T = unknown>(reducer: Reducer<ST, A>, state: State<T | never> | StateInitializer<T> | T, config: {
selector: Selector<ST>;
patcher: Patcher<ST>;
}): [
state: ST,
dispatch: (action: A) => void,
stateObject: State<T>
];