Typescript 如何将对象绑定键和与类型声明相结合?
是否有方法将对象绑定键和与类型声明相结合 现在我正在这样做Typescript 如何将对象绑定键和与类型声明相结合?,typescript,Typescript,是否有方法将对象绑定键和与类型声明相结合 现在我正在这样做 export const useSignOut = ({ authState, authToken, setAuthState, setAuthToken, }: { authState: AuthState; authToken: OAuthToken | null; setAuthState: React.Dispatch<React.SetStateAction<AuthState>&
export const useSignOut = ({
authState,
authToken,
setAuthState,
setAuthToken,
}: {
authState: AuthState;
authToken: OAuthToken | null;
setAuthState: React.Dispatch<React.SetStateAction<AuthState>>;
setAuthToken: React.Dispatch<React.SetStateAction<OAuthToken | null>>;
}) => {
...
}
export const useSignOut=({
国家,
authToken,
setAuthState,
setAuthToken,
}: {
authState:authState;
authToken:OAuthToken | null;
setAuthState:React.Dispatch不要像这样分解参数,不
如果可以重用,您可以在其他地方定义类型
import { MyTypeHere } from './somewhere'
export const useSignOut = ({
authState,
authToken,
setAuthState,
setAuthToken,
}: MyTypeHere) => {
...
}
或者您可以完全避免破坏结构:
export const useSignOut = (options: {
authState: AuthState;
authToken: OAuthToken | null;
setAuthState: React.Dispatch<React.SetStateAction<AuthState>>;
setAuthToken: React.Dispatch<React.SetStateAction<OAuthToken | null>>;
}) => {
console.log(options.authState)
}
export const useSignOut=(选项:{
authState:authState;
authToken:OAuthToken | null;
setAuthState:React.Dispatch;
setAuthToken:React.Dispatch;
}) => {
console.log(options.authState)
}
或者像现在这样做。我想这几乎是你所有的选择。我不认为有任何方法可以避免完全复制属性声明,但是如果你有一个带有这些属性的对象类型,你可以使用它作为参数类型。