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

this.props.location.query em novas versões

Olá, professor. Estou usando o node 6.11.4 e o npm 3.10.10. Tive que substituir algumas coisas que o senhor ensinou, como por exemplo o react-route pelo react-route-dom, pois o primeiro estava dando erro nas versões atuais do npm. Até o momento, consegui achar tudo o que dava erro e substituir por algo equivalente, porém, assistindo a aula 4 do módulo 3 de "react parte 2", ví que o objeto this.props.location.query estava dando undefined. Procurei pela internet alguma solução que pudesse ser equivalente mas não achei. Este objeto foi usado para pegar um parâmetro GET de uma url. No caso do exemplo, o senhor utilizou "/?msg=você precisa estar logado para acessar o endereço", caso um usuário sem acesso tentasse acessar a timeline. Agradeço, caso puder ajudar.

3 respostas
solução!

Opa, eles agora tem um componente para fazer um redirect =>

  <Redirect to={{
        pathname: '/',        
        state:{msg:'usuário não autenticado'}
      }}/>

E aí você passa um objeto literal como argumento do redirect... Do outro lado, o componente mapeado para responder a rota consegue pegar a informação assim:

props.location.state.msg

Essa parte do redirect eu achei em um fórum e já havia implementado, o problema está em pegar a mensagem de erro direto da url, mesmo. A propriedade state está como undefined. Você sabe o que pode estar ocasionando isso? Abaixo segue os dados em props.location

Object: hash:"" | key:"akarrf" | pathname:"/" | search:"?msg=Você deve estar logado para acessar a página principal!" | state:undefined | proto:Object

Me desculpa, eu entendi mal a resposta. Acabei de implementar a propriedade state no redirect e funcionou corretamente. Um abraço e obrigado