通过导航参数react native传递状态



我得到了状态:const[isPressed,setIsPressed]=useState(false(然后我想在导航到另一个sreen时传递setIsPressed,我写道:在from屏幕上:onPress{((=>navigation.anavigation("地图",{setIsPressed}(}在到屏幕上:onPress={((=>{navigation.anavigation('DM'(;setIsPressed(true(;}}

然而,当按下"到屏幕"按钮时,我收到一个错误,说"setIsPressed不是一个功能">

我该如何解决这个问题?

这是你可以做到的方法,这是你的第一个屏幕:

const togglePressed = () => setIsPressed(prev=>!prev);

onPress={() =>
navigation.navigate('ScreenName', {
onRefreshParent: () => togglePressed(),
})
}

在你的另一个屏幕上这样使用它:

onPress={() => route.params.onRefreshParent && route.params.onRefreshParent()}