我定义了一个函数,并使用TypeScript为参数分配类型:
const handleLogin = async (
e: React.FormEvent<EventTarget>,
navigate: NavigateFunction,
link: string,
data: LoginDataType,
setError: React.Dispatch<React.SetStateAction<string>>,
setLoading: React.Dispatch<React.SetStateAction<boolean>>
) => {
//function code
}
现在我已经为参数提供了单独的类型,但我想创建一个TypeScript类型,如下所示:
export type HandleLoginParamTypes = {
e: React.FormEvent<EventTarget>;
navigate: NavigateFunction;
link: string;
data: LoginDataType;
setError: React.Dispatch<React.SetStateAction<string>>;
setLoading: React.Dispatch<React.SetStateAction<boolean>>;
};
现在我想把上面的类型赋给函数,这样在函数定义中我就不必把类型分别赋给参数了,这可能吗?
2条答案
按热度按时间yc0p9oo01#
可以使用类型来描述:
例如:
或
你不能在一个类型中描述仅仅多个参数。
您可以更改函数,使其接受一个参数(对象):
owfi6suc2#
你需要一个参数,一个对象,这应该可以,这是通常的做法:
像这样,您还可以享受命名参数的好处: