【发布时间】:2020-06-18 12:18:57
【问题描述】:
我没有任何错误,但我仍然无法打开我想要的屏幕。这是我的 FlatList 项目:
let categories = [
{
screenName : Player,
name : "Category 1",
img : require("../Assets/Slika.jpg"),
},
这是带有 onPress 的 TouchableOpacity
return (
<View style={styles.container}>
<FlatList
data={categories}
showsHorizontalScrollIndicator={false}
numColumns={categories.length / 5}
showsVerticalScrollIndicator={false}
keyExtractor={(item, index) => index.toString()}
renderItem = {({item, index}) => {
return (
<TouchableOpacity onPress={() => item.screenName}>
<Surface style={styles.surface}>
<ImageBackground
source={item.img}
style={styles.img}
blurRadius={0.5}>
<Icon name="music" color="#fff" size={22}/>
<Text style={styles.name}>{item.name}</Text>
</ImageBackground>
</Surface>
</TouchableOpacity>
);
}}
/>
</View>
【问题讨论】:
-
“打开屏幕”是什么意思?您的意思是导航到新屏幕吗?
-
这是绑定问题。试试 onPress={this.navigateToScreen('your_screen')}
-
你只是将一个变量推送到 onPress 函数而不是里面的执行函数。
-
在类别数组的对象中尝试
screenName:"Player"。 -
是的,我想打开新屏幕,但是 FlatList 中的项目很少,而且每个项目都必须是不同的屏幕。
标签: javascript android ios reactjs react-native