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

125
Vistas
Enrutamiento del componente React basado en el nombre de host de la URL

Quiero cargar el componente React según el nombre del host, ejemplo, digamos que tenemos la aplicación React 'Frontend' y la URL para acceder a esta aplicación es <base_url>/test/login o <base_url>/test/home . Ahora quiero acceder a esta aplicación desde 2 nombres de host diferentes.

  1. test.abc.com/test/login , test.abc.com/test/home
  2. test.xyz.com/test/login , test.xyz.com/test/home

Ahora, si el usuario usa el n.° 1, se mostrará la página de inicio/inicio/cierre de sesión solo para test.abc.com y para el n.° 2, la página de inicio/inicio/cierre de sesión es diferente. Básicamente, necesito personalizar la interfaz de usuario en función del nombre de host.

¿Alguien puede decirme cómo puedo lograr este escenario o hay alguna otra forma de hacerlo?

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

0

  1. Pruebe el valor de location.hostname
  2. Seleccione su componente basado en eso
  3. Pasalo a tu ruta

Por ejemplo:

 import { ABCLogin, XYZLogin } from "./LoginComponents"; const Login = location.hostname === "test.abc.com" ? ABCLogin : XYZLogin; const App = () => { /* ... */ <Route path="login" element={<Login />}> /* ... */ }

De un comentario sobre otra respuesta:

Si la aplicación se ejecuta desde 100 nombres de host y el inicio de sesión/inicio/cierre de sesión y otros son diferentes según el nombre de host, entonces, en este caso, ¿este enfoque también es aplicable?

Pasar de 2 (como se especifica en la pregunta) a 100 es algo así como un movimiento de portería, pero...

Dado que incluir 100 componentes de inicio de sesión diferentes inflaría la aplicación, haría la selección en el momento de la compilación. Los detalles dependerán de la cadena de herramientas que esté utilizando para crear su aplicación de producción.

Por ejemplo, si estuviera usando Webpack, podría hacer algo como:

 resolve: { alias: { components: path.resolve(__dirname, 'src/components/'), 'components/Login': path.resolve(__dirname, `src/components/${process.env.TARGETHOSTNAME}Login`) } }

Esto requeriría que establezca la variable de entorno TARGETHOSTNAME antes de compilar.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Use window.location.hostname y useEffect para lograr el comportamiento deseado. Básicamente, verifique la URL dentro useEffect y redirija usando la biblioteca ReactRouterDOM o algo similar.

about 4 years ago · Juan Pablo Isaza Denunciar

0

obtenga el nombre de host con la función javascript location.hostname; si el nombre de host es test.abc.com, redirija a test.abc.com/logout; de lo contrario, redirija a test.xyz.com/logout

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