Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

160
Visualizações
¿Cómo hacer que Navegación funcione con Rutas si están en los diferentes paquetes?

Tengo algunos componentes en la aplicación de reacción que moví a un paquete lerna separado (aparte de App.js y Routes.js) y causó que mi navegación junto con el historial dejaran de funcionar). ¿Alguna sugerencia sobre cómo arreglar esta separación que funciona para navegar a una URL diferente?

Aquí están los archivos en esos paquetes separados:

Historia.js:

 import { createBrowserHistory } from 'history'; export default createBrowserHistory();

Navegación.js

 import history from '../utils/History'; export default function Nav(loc, state) { history.push(loc, state); }

función en la clase que quiero que funcione con Nav import Nav from '../Navigation';

 class MyComponent extends Component { constructor(props) { super(props); this.handleClick = this.handleClick.bind(this); } handleClick(c) { Nav('/main/' + c.name;) }

Y aquí está Rutas de otro paquete (simplificado)

 import { MyComponent } from '@MyComponents'; import { Switch, Route, Redirect } from 'react-router-dom'; const Routes = () => ( <Switch> <Route exact path='/' render={props => ( <MyComponent {...props} />bla...bla..))

Obtengo mi URL en el navegador http://localhost:3000/main/componentname Pero no redirige a la URL, solo si actualizo

¿Alguna sugerencia sobre cómo puedo hacer que la Navegación funcione si Rutas está en un componente y Navegación + Historial en otro? Las funciones de devolución de llamada son un poco difíciles de implementar si la aplicación se vuelve demasiado complicada. ¿Hay alguna otra forma de arreglarlo?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Creo que no necesita Navigation.js & History.js , simplemente cambie su YourComponent con:

YourComponent

 class MyComponent extends Component { constructor(props) { super(props); this.handleClick = this.handleClick.bind(this); } handleClick(c) { this.props.history.push(`/main/${c.name}`) }

Para comprender cómo implementar esto, debe saber que cuando el enrutador procesa un componente, se pasan tres propiedades como parámetros:

  1. juego
  2. ubicación
  3. historia

en este caso, usamos history en this.props.history para insertar nuestra ruta en /main/${c.name}

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda