@cainiaofe/cn-ui-m
Version:
17 lines (16 loc) • 699 B
TypeScript
import { Dispatch, SetStateAction } from 'react';
/**
* useValue 受控 & 非受控 value 逻辑封装
* @param props 组件的props
* @param defaultValue 默认value
* @param options
* @param options.valueName value 在 props 上的名称
* @param options.fitValue 将外界传入的 value 进行转化
* @param options.compare 用于对比两个 value 是否相同(返回 true 表示相同)
* @return [value, setValue, isControlled]
*/
export declare function useValue<T>(props: any, defaultValue: T, options?: {
valueName?: string;
fitValue?: (v: any) => T;
compare?: (v1: T, v2: T) => boolean;
}): [T, Dispatch<SetStateAction<T>>, boolean, Dispatch<SetStateAction<T>>];