Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用react navigation inside alert onpress?_Javascript_React Native_Expo_React Navigation_React Navigation V5 - Fatal编程技术网

Javascript 如何使用react navigation inside alert onpress?

Javascript 如何使用react navigation inside alert onpress?,javascript,react-native,expo,react-navigation,react-navigation-v5,Javascript,React Native,Expo,React Navigation,React Navigation V5,我用的是react导航v5 当用户按Ok时,我试图从alert导航到登录屏幕, 但当前无法处理错误>> 找不到变量:导航 功能如下: 异步函数handleSubmit(导航){ 试一试{ const value=await AsyncStorage.getItem('storage_useremail'); 如果(值!==null){ 取('https://xxxxxx/logout', { 方法:“POST”, 标题:{ 接受:'application/json', “内容类型”:“应用程序

我用的是react导航v5

当用户按Ok时,我试图从alert导航到登录屏幕, 但当前无法处理错误>>

找不到变量:导航

功能如下:

异步函数handleSubmit(导航){ 试一试{ const value=await AsyncStorage.getItem('storage_useremail'); 如果(值!==null){ 取('https://xxxxxx/logout', { 方法:“POST”, 标题:{ 接受:'application/json', “内容类型”:“应用程序/json”, }, 正文:JSON.stringify({ 电子邮件:value, }), }).then(res=>res.json()) 。然后(res=>{ //console.log(res.err_代码) 如果(res.err_code=='0000'){ Alert.Alert('Notice',res.message+”(“+res.err_code+”),[{text:'Yes',onPress:()=>navigation.navigate('Login')}]); }否则{ 警报。警报(“响应:+res.err_code+”-“+res.message”); } }) } }捕获(错误){ //检索数据时出错 } } 函数HomeNavigator(){ 返回( ({ 头型:{ 背景颜色:“#fb5b5a”, 边框底部宽度:0, }, 头灯:()=>( handleSubmit()} //onPress={()=>navigation.navigate('Login')} title=“注销” color=“#fff” /> ), })}> );
}onPress应该是一个功能声明,按下时会触发该声明

onPress:()=>navigation.navigate('Login'))

因为您没有将导航传递给handleSubmit

function HomeNavigator() {
  return (
<AppStack.Navigator mode="modal" initialRouteName="Login" screenOptions={({ route, navigation }) => ({
  headerStyle: {
    backgroundColor: '#fb5b5a',
    borderBottomWidth: 0,
  },
  headerRight: () => (
    <Button
      onPress={() => handleSubmit(navigation)} // <<<<<<<<<<<< Here
      // onPress={() => navigation.navigate('Login')}
      title="Logout"
      color="#fff"
    />
  ),
})}>
  <AppStack.Screen
    name="Home"
    component={HomeScreen}
    options={{
      title: 'Home',
    }}
  />
  <AppStack.Screen
    name="Memory"
    component={MemoryScreen}
    options={{
      title: 'Memory',
    }} />
</AppStack.Navigator>
  );
}
函数HomeNavigator(){
返回(
({
头型:{
背景颜色:“#fb5b5a”,
边框底部宽度:0,
},
头灯:()=>(

handleSubmit(导航)}//您在哪里使用了
handleSubmit
并将
navigation
传递给了它?您好,我把头灯打开了。让我更新上面的代码。谢谢您没有将
navigation
传递给
handleSubmit
函数。您可以从``头灯:(导航)…`中获取它,然后将它传递给
handleSubmit(导航)