1
resposta

Nada acontece ao dar Like

Boa tarde Caros,

Implementei as funcionalidades de like e carregaIcone igual a aula porém ao rodar a aplicação e tentar gerar o like na foto a mesma não é alterada para a outra imagem.

O que pode ser ?

Componente :

export default class App extends Component {

constructor(props){
    super(props);
    this.state = {
        foto: this.props.item
    }
}

carregaIcone(likeada){        
    return likeada ? require('../../resources/imgs/s2-check.png') : require('../../resources/imgs/s2.png')
}

like(){
    const fotoAtualizada = {
        ...this.state.foto, 
        likeada: !this.state.foto.likeada
    }

    this.setState({foto: fotoAtualizada});
}


      <View>
        <View style={styles.cabecalho}>
          <Image source={{uri: this.props.item.urlPerfil}} style={styles.fotoPerfil} />
          <Text>{this.props.item.loginUsuario}</Text>
        </View>
        <Image source={{uri: this.props.item.urlFoto}} style={styles.fotoPost} />

        <View style={styles.rodape}>
            <TouchableOpacity onPress={this.like.bind(this)}>
                <Image source={this.carregaIcone(this.props.item.likeada)} style={styles.like} />
            </TouchableOpacity>
        </View>
      </View>
1 resposta

Boa noite amigo, Acredito que o erro seja pelo fato de vc estar usando a classe App em vez de usar a classe Post.

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