React Native (17.0.2) clean, no axiosetc.,试图用fetch.
JSON 示例本身
{
"response":"success",
"value":{
"name":"test",
"text":"test"
},
"list": [
{ "id": "1", "title": "test", "releaseYear": "1977" },
{ "id": "2", "title": "test", "releaseYear": "1977" }
]
}
反应原生
import React, { useEffect, useState } from 'react';
import { ActivityIndicator, FlatList, Text, View } from 'react-native';
export default App = () => {
const [isLoading, setLoading] = useState(true);
const [data, setData] = useState([]);
const getMovies = async () => {
try {
const response = await fetch('https://you_site.com/test.json');
const json = await response.json();
setData(json.movies);
} catch (error) {
console.error(error);
} finally {
setLoading(false);
}
}
useEffect(() => {
getMovies();
}, []);
return (
<View style={{ flex: 1, padding: 24 }}>
{/* Тут нужно отобразить value->name */}
{isLoading ? <ActivityIndicator/> : (
<FlatList
data={data}
keyExtractor={({ id }, index) => id}
renderItem={({ item }) => (
<Text>{item.title}, {item.releaseYear}</Text>
)}
/>
)}
</View>
);
};
仅显示数组中的列表list,一切正常。
但是我如何在整个列表(即 display )之前name从对象value的键中推断和显示值?<View style={{ flex: 1, padding: 24 }}>test
决定了!这段代码并不完美——但它解决了问题。