我在带有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)。我有一个带有表单的页面,用户需要从列表中选择一些选项。在第一页中,...
您可以将它们作为参数传递: