在Native React中使用Fetch从API提取数据时出现问题

a11xaf1n  于 2022-12-27  发布在  React
关注(0)|答案(1)|浏览(84)
const [data, setData] = useState(null);
  var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
  "CariId": 2,
  "CariBakiyeyeSadeceOnayliFaturalarYansisin": false,
  "DonemId": 1,
  "BasTarih": "01.01.2021",
  "BitTarih": "01.01.2023"
});

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};
useEffect(() => {
  const fetchData = async () => {
    const response = await fetch("http://192.168.1.30:2828/CodesAndroid.svc/CariHesapListesiDetayli", requestOptions);
    const result = await response.text();
    const parsedResult=JSON.parse(result);
    const deneme =JSON.parse(parsedResult)
    setData(parsedResult);
  };

  fetchData();
}, []);
<View style={{flex:0.5}}>
  <FlatList
        data={data}
        renderItem={({ item }) => (
          <View >
            <Text style={{color:'red'}}>{data}</Text>
          </View>
        )}
        keyExtractor={item => item.CariId}/>

</View>

我可以借助Javascript从API中获取数据,但是我不知道如何逐一获取?我的研究一直没有结果,如果你能帮上忙,我会很高兴的。谢谢......

guykilcj

guykilcj1#

我认为您的错误与获取无关,更多的是与这里初始化为null的数据有关:

const [data, setData] = useState(null);

在第一次渲染时,null没有map属性。所以我认为它在获取完成之前就抛出了一个错误。所以如果你将它初始化为

const [data, setData] = useState([]);

这应该可以让你通过第一次渲染,之后你就可以知道是否是你的获取有问题

相关问题