Boa tarde, No curso de React utilizamos o Router V3 onde consegui fazer as atividades dada pelo instrutor e meus exercícios por conta normalmente, porem vi que tem a versão 4 do Router e com ela não to conseguindo fazer.
Boa tarde, No curso de React utilizamos o Router V3 onde consegui fazer as atividades dada pelo instrutor e meus exercícios por conta normalmente, porem vi que tem a versão 4 do Router e com ela não to conseguindo fazer.
React Router v4 é fundamentalmente diferente da v3 (e anterior) e você não pode fazer this.BrowserRouter.push() como costumava fazer.
Criar um novo this.BrowserRouter não funcionará porque cria sua própria instância de histórico e ouve alterações nele. Então, uma instância diferente mudará o URL, mas não atualizará o .
this.BrowserRouter não é exposto pelo react-router na v4, apenas na v2.
Em vez disso, você tem algumas opções para fazer isso:
Use o withRoutercomponente de alta ordem Em vez disso, você deve usar o withRoutercomponente de alta ordem, e envolver isso para o componente que irá empurrar para o histórico. Por exemplo:
import React from "react";
import { withRouter } from "react-router-dom";
class MyComponent extends Component {
...
myFunction() {
this.props.history.push("/some/Path");
}
...
}
export default withRouter(MyComponent);
Confira a documentação oficial para mais informações:https://reacttraining.com/react-router/web/api/withRouter
Você pode obter acesso ao historypropriedades do objeto e os mais próximos 's match através do componente de ordem superior withRouter. withRouter vai voltar a tornar a sua componente cada vez que as mudanças de rota com os mesmos adereços como tornar adereços: { match, location, history }.
espero ter ajudado.