1 forwardRef使用
1.1
interface Props {
}
export type Ref = {
show: (opts?:string) => void;
};
function Alert(props: Props, ref: React.ForwardedRef<Ref>) {
//...
useImperativeHandle(ref, () => ({
show: (opts?:string) => {
},
}));
}
const AlertComponent = forwardRef<Ref, Props>(Alert);
export default AlertComponent;
1.2
interface Props {
}
export type Ref = {
show: (opts?: string) => void;
}
const Alert = forwardRef<Ref, Props>((props, ref) => {
useImperativeHandle(ref, () => ({
show: (opts?: string) => {
},
}));
//...
});
export default Alert;
2 枚举类型的使用
直接使用枚举就行
enum ModeType = {
Add: 'Add';
Readonly: 'Readonly';
Update: 'Update';
};
枚举类型ts会自动推断具体的值。
如果直接使用对象类型
type ModeType = {
Add: 'Add';
Readonly: 'Readonly';
Update: 'Update';
};
对于ModeType.Add,ts不会推断出它的值为字符串'Add'。但是使用枚举类型ts会自动推断出ModeType.Add的值为字符串'Add'。