Aqui estão :
import React, { Component } from "react";
import { 
  View,
  Text,
  StyleSheet,Image,Dimensions,TouchableOpacity,TextInput
} from "react-native";
const width = Dimensions.get('screen').width
class Post extends Component {
  constructor(props){
    super(props);
    this.state = {
      foto:this.props.foto,
      valorComentario:'',
    }
  }
  carregaIcone(likeada){
    return likeada ? require('../assets/heart.png') : require('../assets/emptyHeart.png');
  }
  like(){
    const { foto } = this.state;
    let novaLista = []
    if(!foto.likeada){
        novaLista = [
          ...foto.likers,{login:'meuUsuario'}
          ]
    }else{
      novaLista = foto.likers.filter(liker=>{
        return liker.login !== 'meuUsuario'
      })
    }
    const fotoAtualizada = {
      ...foto,
      likeada: !foto.likeada,
      likers: novaLista
    }
    this.setState({foto: fotoAtualizada})
  }
  exibeLikes(likers) {
    if(likers.length <= 0)
        return;
    return (
        <Text style={styles.likes}>
            {likers.length} {likers.length > 1 ? 'curtidas' : 'curtida'}
        </Text>
    );
}
  exibeLegenda(foto) {
    if(foto.comentario === '')
      return;
    return (
      <View style={styles.comentario}>
        <Text style={styles.tituloComentario}>{foto.loginUsuario}</Text>
        <Text>{foto.comentario}</Text>
      </View>
    )
  }
  adicionaComentario(){
    if (this.state.valorComentario === '')
     return; 
    const novaLista = [...this.state.foto.comentarios,{
      id: this.state.valorComentario,
      login: 'meuUsuario',
      texto: this.state.valorComentario,
    }];
    const fotoAtualizada = {
      ...this.state.foto,
      comentarios:novaLista,
    }
    this.setState({foto:fotoAtualizada, valorComentario:''})
    this.inputComentario.clear();
  }
  render() {
    const { foto } = this.state
    return (
      <View>
      <View style={styles.cabecalho}>
        <Image source={{uri:this.props.foto.urlPerfil}}
          style={styles.fotoPerfil} />  
        <Text>{this.props.foto.loginUsuario}</Text>
      </View>
      <Image source={{uri:this.props.foto.urlFoto}}
          style={{width: width, height: width}} />
      <TouchableOpacity onPress={this.like.bind(this)}>  
        <View style={styles.rodape}>
          <Image style={styles.botaoLike} source={this.carregaIcone(foto.likeada)}/>
        </View>     
      </TouchableOpacity>   
      {this.exibeLikes(foto.likers)}
      {this.exibeLegenda(foto)}
      {foto.comentarios.map(comentario =>{
        <View style={styles.comentario} key={comentario.id}>
          <Text style={styles.tituloComentario}>{comentario.login}</Text>
          <Text>{comentario.texto}</Text>    
    </View>  
      })}
      <View style={styles.novoComentario}>
        <TextInput onChangeText={texto=> this.setState({valorComentario:texto})}ref={input => this.inputComentario = input}placeholder="Adicione um comentário" style={styles.input}/>
      <TouchableOpacity onPress={this.adicionaComentario.bind(this)}>
        <Image style={styles.icone} source={require('../assets/sent.png')}/>
      </TouchableOpacity>    
      </View>  
    </View>
    );
  }
}