UNPKG

@jingoz/zlight

Version:

一个轻量级的仿 zustand 的 React 状态管理库

12 lines (11 loc) 494 B
import { TCreatorFn } from '../vanilla'; import { IStoreApi } from '../vanilla/store'; export type TState<S> = S extends { getState: () => infer T; } ? T : never; export type TReadonlyStoreApi<S> = Pick<IStoreApi<S>, 'getState' | 'getInitialState' | 'subscribe'>; export type TCreator = <S>(initializer: TCreatorFn<S>) => TUseBoundStore<IStoreApi<S>>; export type TUseBoundStore<S extends TReadonlyStoreApi<unknown>> = { (): TState<S>; <P>(selector: (state: TState<S>) => P): P; };