Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

116
Vistas
Rendimiento de los ganchos de reacción y mejores prácticas

En mi aplicación React tengo la siguiente situación. En cada página tengo que crear esta lógica:

 const user = useUser(); const message = user.auth ? 'Welcome' : 'You are not allowed' <Button>{message}</Button>

Tengo que agregar esta lógica en 10 páginas. Se que mi pregunta es mas teorica, pero que es mejor en mi caso:

  1. Para agregar esta lógica en cada página; o

  2. Para crear un gancho personalizado como useButtonMessage() que se verá así:

     export const useButtonMessage = () => { const user = useUser(); const message = user.auth ? 'Welcome' : 'You are not allowed' return message; }

¿No será redundante el gancho si mantiene solo 3 líneas de código?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Personalmente, me gusta crear ganchos con todas las cosas relativas a un tema en particular (en lugar de solo una constante como message ). Por ejemplo:

 export const useAuth = () => { const user = useUser() const isLoggedIn = user.auth const welcomeMessage = isLoggedIn ? 'Welcome' : 'You are not allowed' /* add selectors, functions to dispatch actions, or other util contants such as welcomeMessage */ return { isLoggedIn, // use this constant across your app to check if the user is logged in user, // use this across your app to obtain the user welcomeMessage, }; }
about 4 years ago · Juan Pablo Isaza Denunciar

0

No crearía un enlace para eso, sino que crearía un archivo de mensajes donde se almacenarán todos los mensajes de la aplicación.

Y luego puedes agregar propiedades condicionales fe

 export const messages = { userAllowed: (authenticated: boolean) => authenticated ? 'welcome' : 'you are not allowed' }

Incluso puedes ir un paso más allá:

 export const messages = { Welcome: 'welcome', NotAllowed: 'you are not allowed', userAllowed: function(authenticated: boolean) { return authenticated ? this.Welcome : this.NotAllowed }, }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda