为什么Firebase中的数据无法在我的FlatList(React Native)中呈现?

梅根·马克(Megan Make)

我是React Native的初学者,我试图在FlatList中显示来自Google Firebase的数据。没有弹出的错误,但是我的列表中没有任何显示。我知道componentDidMount()部分可以正常工作,就像我在其中添加console.log时所显示的那样,offers具有正确的对象。我不确定为什么它没有显示在屏幕上...

import React, {Component} from 'react';
import {View, Text, StyleSheet, TextInput, SafeAreaView, Platform, Image, FlatList, TouchableHighlight} from "react-native";
import { List, ListItem, Divider } from 'react-native-elements';
import Icon from "react-native-vector-icons/Ionicons";

import { db } from '../config';
let offersRef = db.ref('/offers');

class Home extends Component {

  state = {
    offers: [],
    currentUser: null
  };


  componentDidMount() {
    let mounted = true;
    if(mounted){
      offersRef.on('value', snapshot => {
        let data = snapshot.val();
        let offers = Object.values(data);
        this.setState({ offers });
      });
    }
    return () => mounted = false;
  }

  pressRow()
  {
    console.log(item)
  }


  renderItem(item){
    return(
      <TouchableHighlight onPress={() => {this.pressRow(item)}}>
          <Text>
            {item.name}
          </Text>
      </TouchableHighlight>
    )
  }

  render() {
    const { currentUser } = this.state
    return (
      <SafeAreaView style={{ flex: 1 }}>
        <FlatList>
            data = {this.state.offers}
            renderItem = {({ data }) => (
              <TouchableHighlight onPress={() => {this.pressRow(data)}}>
              <Text>
                {data.name}
              </Text>
              </TouchableHighlight>
            ) }
          </FlatList>
      </SafeAreaView>
    ); 
  }
}
export default Home;

const styles = StyleSheet.create({
  container: {
    flex: 1,
    alignItems: 'center',
    justifyContent: 'center',
  },
});

我的代码在上面,如果有人能够提供帮助,将不胜感激!谢谢...

RB RB

嘿,请在渲染方法中进行以下更改:

将renderItem中的“数据”替换为“ item”,并相应地用renderItem替换。

<SafeAreaView style={{ flex: 1 }}>
        <FlatList
            data = {this.state.offers}
            renderItem = {({item} ) => (
              <TouchableHighlight onPress={() => {this.pressRow(item)}}>
              <Text>
                {item.name}
              </Text>
              </TouchableHighlight>
            ) }
          />
      </SafeAreaView>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

即使在React Native中添加了数据后,flatlist也无法正确呈现数据?

来自分类Dev

无法删除React Native FlatList中的项目

来自分类Dev

从React Native中的AsyncStorage获取价值后呈现组件

来自分类Dev

使用Firebase自定义声明有条件地在React Native中呈现UI

来自分类Dev

无法在FlatList中呈现对象数组

来自分类Dev

在React Native中没有使用Flatlist呈现数据

来自分类Dev

无法在React Native中从Firebase Firestore获取数据

来自分类Dev

为什么我的React中的clearInterval无法正常工作?

来自分类Dev

React Native Redux-为什么我不能访问Redux存储中的数据并显示它们?

来自分类Dev

无法在react-native中呈现对象数组

来自分类Dev

FlatList不呈现JSON数组React-native的数据

来自分类Dev

为什么我无法在适配器中接收数据

来自分类Dev

为什么drupal 8无法在我的自定义块中呈现html?

来自分类Dev

为什么我的程序无法从文件中读取数据

来自分类Dev

为什么我无法在引导表中填充json数据

来自分类Dev

ListView行未在React Native中呈现

来自分类Dev

无法从MobX存储中的React Native ListView中呈现行

来自分类Dev

为什么我无法访问JSON中的数据?

来自分类Dev

为什么我无法在Redis的事务中获取缓存数据?

来自分类Dev

为什么我无法在 react native Alert 中访问 this.props.navigation?

来自分类Dev

整数未在 React Native 的文本框中呈现

来自分类Dev

为什么我无法在 ListView 中显示 Firebase 数据

来自分类Dev

如何修改从 elasticsearch 获取的数据结构以在 React Native flatlist 中呈现项目?

来自分类Dev

React Native:FlatList 不呈现

来自分类Dev

为什么我不能在 Flatlist 中显示我的项目?

来自分类Dev

我如何在加载数据时在 react-native FlatList 中渲染 isLoading 元素

来自分类Dev

React Native:uri在平面列表中多次呈现

来自分类Dev

如何在 react-native 中呈现 JSON 对象

来自分类Dev

如何在 React Native 中呈现单选按钮的值?

Related 相关文章

  1. 1

    即使在React Native中添加了数据后,flatlist也无法正确呈现数据?

  2. 2

    无法删除React Native FlatList中的项目

  3. 3

    从React Native中的AsyncStorage获取价值后呈现组件

  4. 4

    使用Firebase自定义声明有条件地在React Native中呈现UI

  5. 5

    无法在FlatList中呈现对象数组

  6. 6

    在React Native中没有使用Flatlist呈现数据

  7. 7

    无法在React Native中从Firebase Firestore获取数据

  8. 8

    为什么我的React中的clearInterval无法正常工作?

  9. 9

    React Native Redux-为什么我不能访问Redux存储中的数据并显示它们?

  10. 10

    无法在react-native中呈现对象数组

  11. 11

    FlatList不呈现JSON数组React-native的数据

  12. 12

    为什么我无法在适配器中接收数据

  13. 13

    为什么drupal 8无法在我的自定义块中呈现html?

  14. 14

    为什么我的程序无法从文件中读取数据

  15. 15

    为什么我无法在引导表中填充json数据

  16. 16

    ListView行未在React Native中呈现

  17. 17

    无法从MobX存储中的React Native ListView中呈现行

  18. 18

    为什么我无法访问JSON中的数据?

  19. 19

    为什么我无法在Redis的事务中获取缓存数据?

  20. 20

    为什么我无法在 react native Alert 中访问 this.props.navigation?

  21. 21

    整数未在 React Native 的文本框中呈现

  22. 22

    为什么我无法在 ListView 中显示 Firebase 数据

  23. 23

    如何修改从 elasticsearch 获取的数据结构以在 React Native flatlist 中呈现项目?

  24. 24

    React Native:FlatList 不呈现

  25. 25

    为什么我不能在 Flatlist 中显示我的项目?

  26. 26

    我如何在加载数据时在 react-native FlatList 中渲染 isLoading 元素

  27. 27

    React Native:uri在平面列表中多次呈现

  28. 28

    如何在 react-native 中呈现 JSON 对象

  29. 29

    如何在 React Native 中呈现单选按钮的值?

热门标签

归档