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

334
Vistas
¿Hay alguna manera de llamar a los ganchos condicionalmente en React?

Quiero llamar a un gancho diferente según una variable... este valor proviene de los parámetros de URL y es dinámico, pero los ganchos no pueden ejecutarse condicionalmente de acuerdo con las reglas de Hook:

Ejemplo

 // this hook comes from react-router dom to get the URL params const param = const { productType, accountId, statementId } = useParams(); // I need to run a hook that calls a different API according productType value if (productType === 'someType') { return useHookOne(accountId, statementId) } else if (productType === 'otherType') { return useHookTwo(accountId, statementId) } else { return useHookThree(accountId, statementId) }
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Debe crear otros 3 componentes para cada escenario. En cada componente, puede agregar su propia lógica.

 const param = const { productType, accountId, statementId } = useParams(); // I need to run a hook that calls a different API according productType value if (productType === 'someType') { return <UseHookOne accountId={accountId} statementId={statementId} /> } else if (productType === 'otherType') { return <UseHookTwo accountId={accountId} statementId={statementId} /> } else { return <UseHookThree accountId={accountId} statementId={statementId} /> }

Y luego crea 3 nuevos componentes. Ejemplo con UseHookOne

 import React from 'react' const UseHookOne = (props) => { const data = useHookOne(props.accountId, props.statementId) return (<>Yay! Logic number 1 based on {data}</>) } export default UseHookOne
about 4 years ago · Juan Pablo Isaza Denunciar

0

Los ganchos no se pueden llamar a funciones o condiciones

Use gancho en la raíz y ponga condición para cada gancho.

¿Puedes predecir el propósito de tu código? Creo que el diseño lógico del código debería abordarse desde un ángulo diferente

EDITAR con Ejemplo:

 // this hook comes from react-router dom to get the URL params const param = const { productType, accountId, statementId } = useParams(); let apiRequest = new productRequestAPI(); if(prodType == "firstType"){ apiQuest.adress = 'adress.api.com'; apiQuest.quest: 'firstRequest'; apiQuest.accountId ... etc } else if(prodType == "secondType"){ ... } singleHook(apiRequest){ //Call API with good params and return after }
about 4 years ago · Juan Pablo Isaza Denunciar

0

puede hacer que useHookOne devuelva una función que tome dos argumentos accountId y statementId .

 const setHookOne = useHookOne() const setHookTwo = useHookTwo() const setHookThree = useHookThree() if (productType === 'someType') { return setHookOne(accountId, statementId) }else if (productType === 'otherType') { return setHookTwo(accountId, statementId) } else { return setHookThree(accountId, statementId) }
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