简体   繁体   English

从 Json 数据中获取数据

[英]Fetching Data from Json Data

I can't fetch Data from this Json Data: https://flow.simpas.ai/paysagiste/article?userid=w8&businessid=ecofence_wattel_set_1_25m&companynumber=0899607494我无法从此 Json 数据中获取数据: https ://flow.simpas.ai/paysagiste/article?userid=w8&businessid=ecofence_wattel_set_1_25m&companynumber=0899607494

I'm Getting No Error but I can't see the Data that am trying to Fetch我没有出错,但我看不到试图获取的数据

The Problem is the response of API is an object and Flatlist receives an array.问题是 API 的响应是一个对象,而 Flatlist 接收一个数组。 So by What should I replace the Flatlist?那么我应该用什么替换 Flatlist?

This is The Code:这是代码:

import React, { useState,useEffect } from 'react';
import {
  View,
  Text,
  TextInput,
  SafeAreaView,
  Keyboard,
  ScrollView,
  Alert,
  FlatList
} from 'react-native';

import COLORS from '../src/conts/colors';
import Button from '../src/views/components/Button';
import Input from '../src/views/components/Input';
import Loader from '../src/views/components/Loader';

const EditScreen = (item) => {

  const [data,setData] = useState([])
  const [loading,setLoading]= useState(true)


  const fetchData = ()=>{
     fetch("https://flow.simpas.ai/paysagiste/article?userid=w8&businessid=ecofence_wattel_set_1_25m&companynumber=0899607494")
     .then(res=>res.json())
     .then((json)=>setData(json))
     .catch((error)=>console.error(error))
     .finally(()=>setLoading(false))
     }
  useEffect(()=>{
       fetchData()
  },[])

  const {businessid,link,title} = item

  const [inputs, setInputs] = React.useState({
    businessid: '',
    link: '',
    title: '',
  });
  const [errors, setErrors] = React.useState({});
  React.useState(false);


  const RenderCollection = (item) =>{

      return(

        <View style={{marginVertical: 20}}>

          <Input
            onChangeText={text => handleOnchange(text, 'businessid')}
            label="businessid"
            defaultValue={item.businessid}
          />


          <Input
            onChangeText={text => handleOnchange(text, 'link')}
            label="link"
            defaultValue={item.link}
          />

          <Input
            onChangeText={text => handleOnchange(text, 'title')}
            label="Title"
            defaultValue={item.Title}
          />


          <Button title="Save"  />
          <Button title="Cancel"  />

        </View>
      )
    }



  return (
    <SafeAreaView>
      <Loader visible={loading} />
      <ScrollView>
        <Text> Edit  </Text>
        <Text>  Now You Can Edit ! </Text>

        <FlatList
                    data={data}
                    renderItem={({item})=>{
                      return RenderCollection(item)
                    }}
                    keyExtractor={item=>item.businessid}
                    onRefresh={()=>fetchData()}
                    refreshing={loading}
                    />
      </ScrollView>
    </SafeAreaView>
  );
};

export default EditScreen;

The output should be a pre-filled form But that What am getting: enter image description here输出应该是一个预先填写的表格但是得到的是什么:在此处输入图像描述

You are not seeing because the response of API is an object and Flatlist receives an array.您没有看到,因为 API 的响应是一个对象,而 Flatlist 接收一个数组。 I advice you to remove Flatlist for this case.我建议您在这种情况下删除 Flatlist。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM