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

undefined is not an object (this.props)

Olá pessoal..

Estou tentando passar os parâmetros da app.js para o post.js, mas estou recebendo a exception "TypeError: undefined is not an object evaluating '_this.props.foto')

Estou utilizando a versão 0.61.4 do React Native, então a estrutura dos arquivos está bem diferente da tratada no treinamento, então não sei se tem algo que precise fazer a mais.

Obrigado.

3 respostas

Ismael, boa tarde!

Pode ser que fotos ou props esteja escrito de forma incorreta.

Para que possamos testar poderia compartilhar seu código com a gente?

Aguardo sua resposta e bons estudos!

solução!

Boa tarde Felipe!!

Cara, na verdade não estava escrito errado. Fui dando continuidade no treinamento (mesmo com o erro) e aí cheguei em um ponto no qual precisei alterar a estrutura do App.js, havia até encontrado um outro tópico aqui na Alura mesmo onde um outro usuário havia mencionado.

Aí funcionou.

Só para deixar mais claro, tive o mesmo problema e passei uma boa hora até criar vergonha na cara e procurar na documentação como resolver.

Para quem, assim como eu, tá usando function ao invés de classe, é necessário passar o prop como parâmetro, sendo assim a função do componente ficaria

export default function Post(props)
{
  return (
    <View>
    <Text>
            {props.foto.usuario}
        </Text>
    </View>

Utilizando o props sem necessariamente utilizar o this no início.

Outra forma é importar o Component e usar

export default class Post extends Component
    render()
    {
        return(**Code**);
    }

que você pode seguir o tutorial a risca usando o this.props.foto.

Bons estudos a todos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software