UNPKG

@jingoz/zlight

Version:

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

14 lines (9 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 }