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

180
Vistas
Todas las rutas de React Router y hashHistory redirigen al mismo componente

Estoy tratando de usar React Router en mi aplicación de pila MERN. Tengo problemas ya que todas las rutas representan el mismo componente.

Enrutador (índice.jsx):

 import React from 'react' import ReactDOM from 'react-dom' import { Router, Route, IndexRoute, hashHistory } from 'react-router' import Home from './components/home.jsx' import App from './app.jsx' import ContactsIndex from './components/contacts/contactsIndex.jsx' if(typeof window !== 'undefined') { ReactDOM.render( <Router history={hashHistory}> <Route path='/' component={App}> <IndexRoute component={Home} /> <Route path='contacts' component={ContactsIndex}/> </Route> </Router>, document.getElementById("root")); }

Aplicación.jsx

 import React from 'react' import { Router, Route, Link } from 'react-router' import Home from './components/home.jsx' export default class App extends React.Component { constructor(props) { super(props) } render() { return( <div> <p>Text</p> {this.props.children} </div> ) } }

Entrada de express a React:

 app.set('views', __dirname + '/views'); app.engine('jsx', require('express-react-views').createEngine()) app.set('view engine', 'jsx') app.get('*', (req,res) => { res.render('index.jsx') })

No importa qué ruta visite (incluso las que no están definidas), se representan los contenidos de App.jsx. Parece que estoy haciendo algo incorrectamente aquí que hace que hashHistory no funcione. Estoy usando React-Router 2.6.1

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Si observa su código, puede ver que su enrutador primero está montando el componente de la aplicación, a la derecha

 <Router history={hashHistory}> <Route path='/' component={App}> ...

Entonces tienes esto dentro del componente de tu aplicación:

 {this.props.children}

Entonces, la forma en que funciona el enrutador de reacción es que usa App.js como un contenedor dentro del cual está montando los otros componentes.

Entonces, por ejemplo, si vas a /contactos, tu árbol se verá así

 <div> //This is the app component <p>Text</p> <ContactsIndex> // Whatever route you render goes here... </div>

Si desea representar solo un árbol nuevo en cada ruta, con esta implementación actual puede mantener el div App.js como contenedor para sus páginas.

about 4 years ago · Santiago Trujillo 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