如何使用React Native Navigation(v5)将数据发送到父页面?

问题描述 投票:0回答:1

我在带有GraphQL Apollo客户端的项目中使用https://reactnavigation.org/(版本5.0.1)。

我有一个带有表单的页面,用户需要从列表中选择一些选项。在第一页中,我有一个带有以下代码的按钮:

props.navigation.navigate('SelectTagsPage', {
            onSelect: (selectedIds) => {
              // update the form state
              setTagsIds(selectedIds)
            },
          });

在标签页面上,我有这个:

const { onSelect } = props.route.params;

//...

<Button onPress={() => { onSelect(ids) }}>

所以,基本上,我在调用navigation.navigate时传递了一个函数,并且我正在执行此函数以将数据发送回初始屏幕。

这很好,但是,当我打开TagsPage时,收到此警告:

我们在导航状态下发现了不可序列化的值,中断使用,例如保持和恢复状态。这可能会发生如果您传递了不可序列化的值,例如函数,类实例等在参数中

如果在参数中传递函数是一个问题,那么实现从页面发送数据到父页面并解决此警告消息的相同功能的最佳方法是什么?

我在带有GraphQL Apollo客户端的项目中使用https://reactnavigation.org/(版本5.0.1)。我有一个带有表单的页面,用户需要从列表中选择一些选项。在第一页中,...

javascript react-native react-navigation react-native-navigation
1个回答
0
投票

您可以将它们作为参数传递:

© www.soinside.com 2019 - 2024. All rights reserved.