我已经通过用户身份验证完成了 firebase。每个结果都显示在一个平面列表中。单击心形图标后,我想将所选项目移至收藏夹屏幕。
<FlatList
contentContainerStyle={ { alignSelf:"center",}}
data={Results}
keyExtractor={(Result) => Result.id.toString()}
renderItem={({ item }) => {
// console.log(item.id);
return (
<TouchableOpacity
onPress={() => {
navigation.navigate("ResultsShowScreen", {
id: item.id,
image: item.image,
});
}}
>
<ResultsDetail Result={item} />
</TouchableOpacity>
);
}}
/>
</View>
<View>
<Text> Screen</Text>
</View>
答案 0 :(得分:1)
您可以通过读取 Favorite Screen 的 route.params
对象的属性来实现这一点。像这样:
function Favorites ({route}) {
const {id, image} = route.params;
return (
...
);
}
请记住,当按下 id
时,这只会显示您正在传递的 image
和 TouchableOpacity
。如果您想要所有收藏夹的列表,您需要将它们存储在像数组这样的数据结构上(并在项目被收藏/不喜欢时修改数组),并将该数组传递给 Favorite Screen
有关此功能的完整参考,您可以阅读 React Navigation 文档的 Passing parameters to routes 页。