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);