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

Problemas com o export default

Não consigo alterar a página para Login. comecei fazendo desta forma e estava compilando e executando todo o projeto certinho, percebi que o export default deve ir la em baixo. mas da Erro. acrescentei o return, continuou com erro. Tentei alterar para

 class InstaluraMobile extends Component 
...
export default () => {
AppRegistry.registerComponent('InstaluraMobile', () => Login);
}
 e não resolveu, alguma sugestão ? 
import React, { Component } from 'react';
import{
  AppRegistry,
  StyleSheet,
  Text,
  View,
  Image,
  Dimensions,
  ScrollView,
  FlatList,
  Platform

}from 'react-native';
import Post from './src/components/Post';
const width = Dimensions.get('screen').width;

 export default class InstaluraMobile extends Component{  


    constructor(){
      super();
      this.state ={
        fotos:[]
      }
    }    

    componentDidMount(){
      fetch('https://instalura-api.herokuapp.com/api/public/fotos/rafael')
        .then(resposta => resposta.json())
        .then(json => this.setState({fotos: json}))
    }

    like(idFoto) {

      const foto = this.state.fotos.find(foto => foto.id === idFoto)

      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     
       }

       const fotos = this.state.fotos.map(foto => foto.id === fotoAtualizada.id ? fotoAtualizada:foto)


       this.setState({fotos})
    }

    adicionaComentario(idfoto, valorComentario, inputComentario) {
      if(valorComentario === '')
        return;

      const foto = this.state.fotos.find(foto => foto.id === idfoto)

      const novaLista = [...foto.comentarios, {
        id: valorComentario,
        login: 'meuUsuario',
        texto: valorComentario
      }];

      const fotoAtualizada = {
        ...foto,
        comentarios: novaLista
      }

      const fotos = this.state.fotos.map(foto => foto.id === fotoAtualizada.id ? fotoAtualizada : foto)

      this.setState({fotos});
      inputComentario.clear();

    }

    render() {    

      return (
        <FlatList style={styles.container}          
          keyExtractor={item => item.id}
          data={this.state.fotos}
          renderItem={ ({item}) => 
            <Post foto={item}
              likeCallback={this.like.bind(this)}
              comentarioCallback={this.adicionaComentario.bind(this)}/>          
          }
        />
      );
    }
  }  

  const margem = Platform.OS == 'ios' ? 20 : 0;
  const styles = StyleSheet.create({
    container: {
      marginTop: margem
    },
  });


AppRegistry.registerComponent('InstaluraMobile', () => InstaluraMobile);

3 respostas
solução!

Resolvido

Boa tarde, Dennis! Como vai?

Vc poderia compartilhar com a gente o que estava causando o problema e como vc fez para resolvê-lo? Assim todos crescemos juntos e caso alguém tenha a mesma dúvida que vc poderá achar uma luz aqui.

Grande abraço e bons estudos, meu aluno!

Bem eu não consegui avançar com o meu projeto. Então fiz o download que o instrutor disponibiliza no curso e importei. Foi a unica solução que encontrei para poder continuar