Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

207
Visualizações
React Native: 'indefinido no es un objeto' al procesar datos desde api

Estoy creando una aplicación que toma datos de la API y los muestra en la pantalla. Cuando se procesa la pantalla, da el siguiente error: Render Error undefined no es un objeto (evaluando 'this.text'). lo curioso no es nada como 'this.text' está en ninguna de mis pantallas, excepto por un archivo en los módulos de nodo. De todos modos, aquí está el archivo.

la pantalla que representa los datos:

 /* the screen that renders the data */ import React, {useEffect, useState} from 'react'; import { SafeAreaView, View, FlatList, StyleSheet, Text, StatusBar } from 'react-native'; const Experts = () => { useEffect(()=> { fetch('http://icantputtheactualurlcuzitsmyipaddress.com/expertsList/',{ method: 'GET' }) .then(resp => resp.json) .then(data => { setData(data) }) .catch(error => console.log('something is not suppose to be happening')) }, []) const [data, setData] = useState([]); return ( <SafeAreaView style={styles.container}> <FlatList data={data} renderItem={({ item }) => ( <Text style={styles.item}>{item.name}</Text> )} /> </SafeAreaView> ); } const styles = StyleSheet.create({ container: { flex: 1, marginTop: StatusBar.currentHeight || 0, }, item: { backgroundColor: 'teal', padding: 20, marginVertical: 8, marginHorizontal: 16, color: 'white', }, title: { fontSize: 32, }, }); export default Experts;

Realmente agradecería cualquier aporte, soy un poco nuevo en esto.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Creo que su matriz de datos está vacía la primera vez antes de la búsqueda de API y el texto dentro de su FlatList está tratando de buscar, así que proporcione una verificación nula con "?" ¿Te gusta el artículo? .nombre

 <SafeAreaView style={styles.container}> <FlatList data={data} renderItem={({ item }) => ( <Text style={styles.item}>{item?.name}</Text> )} keyExtractor = (item, index) => item.id; /> </SafeAreaView> );

Y no olvides agregar keyExtractor

about 4 years ago · Juan Pablo Isaza Relatório

0

Entonces, después de investigar un poco, descubrí que se debía a que la llamada a la API en el gancho de efectos era una función. y necesitas paréntesis para las funciones. Además, la razón por la que mostró this.text fue porque estaba bajo el analizador json. así que a la parte que has estado esperando

el código:

 useEffect(()=> { fetch('http://skrskr.com/api/experts/',{ method: 'GET' }) /* make sure to put the needed parenthesis */ .then((resp) => resp.json()) .then( (json) => setData(json) ) .catch(error => console.log('something is not suppose to be happening')) }, []) const [data, setData] = useState([]);

espero que esto encuentre a quien lo necesite

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda