Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não estou conseguindo chamar o registraApp()

Estou utilizando a versão mais recende do React Native, a estrutura de arquivos é diferente, ou seja, não possui os arquivos "index.ios.js" e "index.android.js".

Em seu lugar temos apenas o arquivo "App.js", ou seja, o que era para ser a classe "InstaluraMobile" dentro de app.js, não foi criada no novo contexto e nesse ponto não estou conseguindo usar o comando que foi passado na aula:

import registraApp from './src/app';
registraApp();

Meu código está da seguinte forma:

Post.js

import React, {Component} from 'react';
import {StyleSheet, Text, View, Image, Dimensions} from 'react-native';

const width = Dimensions.get('window').width;

export default class Post extends Component {
  render() {
    return (
      <View>
        <View style={styles.cabecalho}>
          <Image
            source={require('../../resources/img/eu.jpg')}
            style={styles.fotoDePerfil}
          />
          <Text>{this.props.foto.usuario}</Text>
        </View>
        <Image
          source={require('../../resources/img/eu.jpg')}
          style={styles.foto}
        />
      </View>
    );
  }
}

const styles = StyleSheet.create({
  cabecalho: {
    margin: 10,
    flexDirection: 'row',
    alignItems: 'center',
  },
  fotoDePerfil: {
    marginRight: 10,
    borderRadius: 20,
    width: 40,
    height: 40,
  },
  foto: {
    width: width,
    height: width,
  },
});

App.js

import React from 'react';
import {FlatList, StyleSheet} from 'react-native';

import Post from './src/components/Post';

const App: () => React$Node = () => {
  const fotos = [
    {id: 1, usuario: 'eu 1'},
    {id: 2, usuario: 'eu 2'},
    {id: 3, usuario: 'eu 3'},
  ];

  return (
    <FlatList style={styles.container}
      data={fotos}
      keyExtractor={item => item.id}
      renderItem={({item}) => <Post foto={item} />}
    />
  );
};

const styles = StyleSheet.create({
  container: {
    marginTop: 20,
  },
});

export default App;
1 resposta
solução!

Stanislaw, boa tarde!

Visto que sua versão é diferente, você não precisa fazer essa configuração, já que o próprio index.js já está fazendo essa função. O que ele está fazendo dentro do app.js, você pode fazer dentro do seu arquivo App.js e ele se comportará da mesma forma.

Espero ter ajudado e bons estudos!

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