Oi.
No código:
constructor(props){
super(props);
this.state = {fotos:[]};
this.login = this.props.login;
}
componentWillMount(){
Pubsub.subscribe('timeline',(topico,fotos) => {
this.setState({fotos});
});
Pubsub.subscribe('atualiza-liker',(topico,infoLiker) => {
const fotoAchada = this.state.fotos.find(foto => foto.id === infoLiker.fotoId);
fotoAchada.likeada = !fotoAchada.likeada;
const possivelLiker = fotoAchada.likers.find(liker => liker.login === infoLiker.liker.login);
if(possivelLiker === undefined){
fotoAchada.likers.push(infoLiker.liker);
} else {
const novosLikers = fotoAchada.likers.filter(liker => liker.login !== infoLiker.liker.login);
fotoAchada.likers = novosLikers;
}
this.setState({fotos:this.state.fotos});
});
Essa parte:
this.setState({fotos:this.state.fotos});
Não entendi. O this.setState está modificando o valor de sua propriedade 'fotos' consigo mesmo? Parece-me um pouco estranho.
O que acontece aqui?
Não parece que houve modificações no this.state.fotos.