No código:
ReactDOM.render(
(
<Router history={browserHistory}>
<Route path="/" component={Login}/>
<Route path="/timeline" component={App} onEnter={verificaAutenticacao}/>
<Route path="/logout" component={Logout}/>
</Router>
),
document.getElementById('root')
);
function verificaAutenticacao(nextState,replace) {
if(localStorage.getItem('auth-token') === null){
replace('/?msg=você precisa estar logado para acessar o endereço');
}
}
Como é que acontece o uso de 'props' no constructor de 'Login.js', como aqui:
export default class Login extends Component {
constructor(props){
super(props);
console.log(this.props);
this.state = {msg:this.props.location.query.msg};
}
/...
O constructor de Login roda ao Router chamar esse componente? No exemplo da função "verificaAutenticacao", se o usuário não tiver logado, a função 'replace', manda o app para o componente "Login", certo?
Junto com um parâmetro:
replace("/?msg=você precisa estar logado para acessar o endereço")
Esse parâmetro é acessivel ao constructor de 'Login' , quando?
No momento em que o Router resolve o "path:/" e carrega o Login?
Obrigado.