我正在使用React Query和Axios处理API请求。目前,我有一个函数registerByEmail,它使用Axios处理注册,并为mutation定义了一个useRegisterByEmail钩子。下面是现有的设置:
export interface ApiResponseInterface<T> {
status: string
statusCode: number
result: T
}
export interface ErrorApiResponseInterface {
statusCode: number
error: string
message: string[]
}
export interface RegisterByEmailBodyInterface {
email: string
username: string
password: string
}
export interface RegisterByEmailResultInterface {}
export const registerByEmail = async (body: RegisterByEmailBodyInterface) => {
return await axios.post<ApiResponseInterface<RegisterByEmailResultInterface>>(
"/auth/email/register",
body
)
}
export const useRegisterByEmail = () =>
useMutation({
mutationFn: registerByEmail,
mutationKey: ["register"],
})
字符串
现在,我的目标是通过允许传入自定义选项来使useRegisterByEmail钩子更加通用。下面是所需的修改:
export const useRegisterByEmail = (options) =>
useMutation({
mutationFn: registerByEmail,
mutationKey: ["register"],
...options
})
型
如何在确保正确键入和处理useRegisterByEmail钩子中的选项的同时实现此修改?我特别希望通过有效地合并可定制选项来增强其可重用性。
我非常感谢任何见解或例子证明正确的方法来实现这一点。谢谢!
1条答案
按热度按时间r55awzrz1#
你可以用我的:
你可以像这样使用它:
型