代码之家  ›  专栏  ›  技术社区  ›  isaac kiplagat

在reac native中使用sectionlist/flatlist显示父级和两个子级的json数据

  •  0
  • isaac kiplagat  · 技术社区  · 3 年前

    我还是react原生网络新手,我想使用sectionlist显示json数据 这是我的密码

      import * as React from 'react';
     import { Button, View ,Pressable,Text,StyleSheet,ActivityIndicator,FlatList,SectionList} from 'react-native';
     import { createDrawerNavigator } from '@react-navigation/drawer';
     import { NavigationContainer } from '@react-navigation/native';
     import { createStackNavigator } from '@react-navigation/stack';
    import { Component } from 'react/cjs/react.production.min';
     const Drawer = createDrawerNavigator();
     const Stack=createStackNavigator();
     export default class ScreenA extends Component {
     constructor(props) {
      super(props);
    
      this.state = {
        data: [],
        isLoading: true
      };
    }
    
    async getData() {
      try {
        const response = await fetch('https://mocki.io/v1/d479a871-9165-45a1-a43d-cd2ae3e68845');
        const json = await response.json();
        this.setState({ data: json });
      } catch (error) {
        console.log(error);
      } finally {
        this.setState({ isLoading: false });
      }
    }
    
    componentDidMount() {
      this.getData();
    }
    
    render() {
      const { data, isLoading } = this.state;
    
      return (
        <View style={{ flex: 1, padding: 24 }}>
          {isLoading ? <ActivityIndicator/> : (
            <FlatList
              data={data}
              keyExtractor={({ id }, index) => id}
              renderItem={({ item }) => (
                <Text>{item.firstName}, {item.lastName}</Text>
              )}
            />
          )}
        </View>
      );
    }
    };
    

    Json链接: https://mocki.io/v1/d479a871-9165-45a1-a43d-cd2ae3e68845 请,我们将非常感谢您的帮助。提前谢谢

    0 回复  |  直到 3 年前
        1
  •  0
  •   atakulmert    3 年前

    我想应该是这样。

    <FlatList
          data={this.state.data} // you should add this.state
          keyExtractor={({ id }, index) => id}
          renderItem={({ item }) => (
            <Text>{item.firstName}, {item.lastName}</Text>
          )}
        />