Hay dos formas diferentes de crear un servicio y llamar desde el componente funcional requerido.
1.
export const userProfileService = { ResetPassword: async (userId: string) => { var response = await http.get<string, boolean>(`UserProfile/ResetPassword?userId=${userId}`); return response; } } class UserProfileService { readonly userProfilePath = 'UserProfile'; resetPassword = async (userId: string) => { var response = await http.get<string, boolean> (`${this.userProfilePath}/ResetPassword?userId=${userId}`); return response; } export default new UserProfileService(); **The question is which way is better and optimized way? or better convention?**¿Por qué no convertirlo simplemente en una función?
export const resetPassword: async (userId: string) => { return await http.get<string, boolean>(`UserProfile/ResetPassword?userId=${userId}`); }Poner la función en una clase o un objeto parece solo complicar y ofuscar en este caso. Se parece mucho a un estilo influenciado por C#. No es terrible o incorrecto per se, pero es un poco detallado y complicado cuando todo lo que necesita es una función pura.
Además, debe usar la palabra clave let o const en lugar de var debido a las diferencias en el alcance. No está cometiendo ningún error en el código anterior porque var tiene un alcance de función, pero casi siempre es mejor usar const (o let si necesita modificarlo).