React Native 将平面列表从一个屏幕移动到另一个屏幕

时间:2021-03-20 20:05:26

标签: react-native

我已经通过用户身份验证完成了 firebase。每个结果都显示在一个平面列表中。单击心形图标后,我想将所选项目移至收藏夹屏幕。

Home Screen

  <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>

Favorites Screen

<View>
      <Text> Screen</Text>
    </View>

1 个答案:

答案 0 :(得分:1)

您可以通过读取 Favorite Screenroute.params 对象的属性来实现这一点。像这样:

function Favorites ({route}) {

  const {id, image} = route.params;

  return (
    ...
  );
}

请记住,当按下 id 时,这只会显示您正在传递的 imageTouchableOpacity。如果您想要所有收藏夹的列表,您需要将它们存储在像数组这样的数据结构上(并在项目被收藏/不喜欢时修改数组),并将该数组传递给 Favorite Screen

有关此功能的完整参考,您可以阅读 React Navigation 文档的 Passing parameters to routes 页。