[英]Beginners Problem with ReactNative FlatList
我对原生反应还很陌生,并且有一个问题,即我的数据没有显示在我的视图中。 我可以从我的服务器检索它并将其保存在数据数组中。 当我想浏览它并创建一个平面列表时,它没有出现,我不知道为什么。 console.log 输出显示我的数组中有数据,并且在那个时间点 displayList 为真。 任何帮助为什么会发生这种情况?
return (
<View style={styles.container}>
<Button title="Retrieve Data" onPress={fetchData} />
<Text>before</Text>
{console.log(
`Size of Data: ${data.length} and displayList: ${displayList}`
) &&
displayList &&
data &&
data.map((item, i) => (
<FlatList
data={data}
renderItem={({ item }) => <Text>{item["name"].Value[0]}</Text>}
keyExtractor={(item) => item}
/>
))}
<Text>after</Text>
<StatusBar style="auto" />
</View>
);
}
通过映射平面列表,您正在为每个数据项创建一个新列表,我怀疑您想要做什么。
渲染项的内部为您提供了地图功能。 我想你要找的是...
return (
<View style={styles.container}>
<Button title="Retrieve Data" onPress={fetchData} />
<Text>before</Text>
<FlatList
data={data}
renderItem={({ item }) => <Text>{item["name"].Value[0]}</Text>}
keyExtractor={(item) => item.id.toString()}
/>
))}
<Text>after</Text>
<StatusBar style="auto" />
</View>
);
如果你想在没有数据的情况下渲染其他东西,那么你可以在平面列表上使用ListEmptyComponent
道具。
我也不确定你的data
数组是什么样的。 但这也可能是一个问题。 如果这不起作用,请使用完整的组件和数据结构更新您的问题。
试试这个,不必遍历地图,该项目已经包含相应索引的对象。
return ( <View style={styles.container}> <Button title="Retrieve Data" onPress={fetchData} /> <Text>before</Text> {data.lenght()>0? <FlatList data={data} renderItem={({ item }) => <Text>{item["name"].Value[0]}</Text>} keyExtractor={(item) => item} />:<Text>No DATA FOUND<Text>} <Text>after</Text> <StatusBar style="auto" /> </View> );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.