【发布时间】:2021-09-23 12:32:49
【问题描述】:
我遇到了问题,无法在我的屏幕上显示 fetch API 数据,谁能告诉我如何显示数据,请尝试修复我的代码,如果您有任何疑问,请随时提问。
我正在使用 nytimes api 获取数据
import React, { useEffect, useState } from 'react';
import { Text, View, FlatList, StyleSheet } from 'react-native';
// import { Card, Title, Paragraph } from 'react-native-paper';
import { Searchbar } from 'react-native-paper';
export default function Home() {
const [searchquery, setSearchquery] = React.useState();
const [data, setData] = useState([]);
const getMovies = async () => {
try {
const response = await fetch(
`https://api.nytimes.com/svc/books/v3/lists/current/hardcover-fiction.json?api-key=9OTXA7aqliGSkwHKCACiw0SLkmfzMB6g`
);
const json = await response.json();
setData(json);
} catch (error) {
console.error(error);
}
};
useEffect(() => {
getMovies();
}, []);
return (
<View>
<Searchbar
placeholder="Search Books"
onChangeText={(query) => setSearchquery(query)}
value={searchquery}
style={{ marginTop: 30, marginHorizontal: 10 }}
/>
<FlatList
data={data}
keyExtractor={({ id }, index) => id}
renderItem={({ item }) => (
<Text style={styles.customText}> {item.json}</Text>
)}
/>
</View>
);
}
const styles = StyleSheet.create({
customText: {
padding: 10,
marginTop: 20,
textAlign: 'center',
backgroundColor: 'lightgray',
fontWeight: 'bold',
},
});
【问题讨论】:
-
您不应在公共论坛上发布您的 API 密钥
标签: css react-native expo