【发布时间】:2021-03-01 09:55:14
【问题描述】:
这是使用 React Native 构建的简单代码,它运行良好,它从 JSON 链接获取数据并将其作为文本项显示在 FlatList 中。我想在这个 FlatList 中添加图像 foreach 项目。我不知道这段代码的哪一部分会显示图像。 这是 JSON 文件:
[
{"uid":"001","uname":"Jon","uimage":"http:\/\/me.com\/jon.jpg"},
{"uid":"002","uname":"Eds","uimage":"http:\/\/me.com\/eds.jpg"},
{"uid":"003","uname":"Sam","uimage":"http:\/\/me.com\/sam.jpg"}
]
这是 RN 代码:
import React, { useState, useEffect } from 'react';
// import all the components we are going to use
import {
SafeAreaView,
Text,
StyleSheet,
View,
FlatList,
Image
} from 'react-native';
const App = () => {
const [masterDataSource, setMasterDataSource] = useState([]);
useEffect(() => {
fetch('http://www.link2json.com/data.json')
.then((response) => response.json())
.then((responseJson) => {
setMasterDataSource(responseJson);
})
.catch((error) => {
console.error(error);
});
}, []);
const ItemView = ({ item }) => {
return (
// Flat List Item
<Text
style={styles.itemStyle}
onPress={() => getItem(item)}>
{item.unam}
</Text>
<Image source={ uri: {'uimage'}} /> //<--Here's the issue
);
};
const ItemSeparatorView = () => {
return (
// Flat List Item Separator
<View
style={{
height: 0.5,
width: '100%',
backgroundColor: '#C8C8C8',
}}
/>
);
};
const getItem = (item) => {
// Function for click on an item
alert('Id : ' + item.uid + ' Title : ' + item.unam);
};
return (
<SafeAreaView style={{ flex: 1 }}>
<View style={styles.container}>
<FlatList
data={masterDataSource}
keyExtractor={(item, index) => index.toString()}
ItemSeparatorComponent={ItemSeparatorView}
renderItem={ItemView}
/>
</View>
</SafeAreaView>
);
};
const styles = StyleSheet.create({
container: {
backgroundColor: 'white',
},
itemStyle: {
padding: 10,
},
});
export default App;
【问题讨论】:
标签: javascript json react-native url