Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Redirecionamento Programatico

Boa tarde, Estou usando o

 browserHistory.push("/cadastro")

em um exercício que estou fazendo, porem esta mudando apenas a URL mas não direciona a pagina.

Meu Button que chama a ação:

 <button type="submit" className="btn btn-block btn-submit btn-login" onClick={this.validalogin}>Entrar</button>

o metodo "validalogin"

//login.js
import React, { Component } from 'react';
import { browserHistory } from 'react-router';
import { Link } from 'react-router';


export default class Login extends Component {

  validalogin(event){  
    console.log("valida login")
    event.preventDefault ();
    browserHistory.push("/cadastro")

   }

a ação é chamada pois o console retorna "valida login"

Meu Router:

//index.js
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import 'bootstrap/dist/css/bootstrap.css';
import Cadastro from './componentes/Cadastro';
import { Router, Route, hashHistory } from 'react-router';

ReactDOM.render((
    <Router history={hashHistory}>
        <Route path="/" component={App}/>
        <Route path="/cadastro" component={Cadastro}/>
    </Router>
  ), document.getElementById('root'))

Meu App.js

import React, { Component } from 'react';
import './App.css';
import Footer from './componentes/Footer.js';
import Login from './componentes/Login.js';


class App extends Component {

  render() {
    return <div className="App">
      <Login/>{/*Importando LOGIN*/}
      <Footer/>{/*Importando RODAPE*/}
    </div>
  }
}

export default App;

O interessante é que se eu colocar um

//Login.js
 <div>
             <Link Link to="/cadastro"> cadastro</Link>
 </div>

Ele redireciona a pagina tanto a URL quando a pagina em si, funciona perfeitamente, então acredito que não é problema no Router.

Se alguém puder me dar uma ajudinha '-'.

2 respostas
solução!

Olha,

Não achei onde excluir o tópico, porem assim que postei fui ler o codigo para ver se tava clara a minha duvida, e percebi que estava declarando no Router

hashHistory

e para dar o

push

estava usando

browserHistory

Opa Denis, tudo bem? Problema resolvido então? Marca o tópico que mostra a solução do problema como solução tá bem? Assim a gente sabe de longe que esse é um problema resolvido.

Como você mesmo encontrou a solução, marca sua própria mensagem como solução, ok? Lembra sempre de fazer isso quando o problema tiver resolvido.