gpt4 book ai didi

javascript - 如何在 React Native Navigation v5 中将数据传回上一屏幕?

转载 作者:行者123 更新时间:2023-12-05 02:08:51 26 4
gpt4 key购买 nike

我刚刚更新以响应 native 导航版本 5。现在我正在尝试在调用 goBack() 时将数据发送回上一个屏幕。

我推送下一个 View

const onSelectCountry = item => {
console.log(item);
};

navigation.navigate('SelectionScreen', {
onSelect: onSelectCountry});

并在通过调用从 FlatList 中选择项目后返回:

function onSelectedItem(item) {
route.params.onSelect(item);
navigation.goBack();
}

但是通过使用参数发送函数,我得到一个警告:在导航状态中发现不可序列化的值...

有人可以告诉我正确的方法吗。

最佳答案

这是一个实现

画面A

const Screen1 = ({navigation, route}) => {
const [item, setItem] = useState(null);

useEffect(() => {
navigation.addListener('focus', () => {
console.log(route.params)
})
}, [])

const onPress = () => {
navigation.navigate('Screen2', {onReturn: (item) => {
setItem(item)
}})
}
return (
// Components
)
}

屏幕 2:

const Screen2 = ({navigation, route}) => {

useEffect(() => {
navigation.addListener('focus', () => {
console.log(route.params)
})
}, [])

// back Press
const onPress = () => {
route.params.onReturn(item);
navigation.goBack()
}

return (
// Components
)
}

关于javascript - 如何在 React Native Navigation v5 中将数据传回上一屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60491580/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com