Re-login cannot be redirected after the SwitchNavigator,session using react-navigation expires

SwitchNavigator, using react-navigation includes login page and a drawer navigation. After the session expires, use this.props.navigation.navigate ("login") to jump to the login page to log in again. Login is successful but does not jump.

import React, { Component } from "react";
import {
    AppRegistry,
    Text,
    View,
    Button,
    StyleSheet,
    Image,
} from "react-native";
import { createDrawerNavigator,SwitchNavigator } from "react-navigation";

import { CurrentTaskRoot } from "../page/currentTask/CurrentTaskRoot";
import { ApplyRoot } from "../page/apply/ApplyRoot";
import { ApprovalRoot } from "../page/approval/ApprovalRoot";
import { TaskSchedulingRoot } from "../page/taskScheduling/TaskSchedulingRoot";
import { RefuelRecordRoot } from "../page/refuelRecord/RefuelRecordRoot";
import { HandoverCarRoot } from "../page/handoverCar/HandoverCarRoot";
import { AddressBookRoot } from "../page/addressBook/AddressBookRoot";
import { SettingRoot } from "../page/setting/SettingRoot";
import Login from "../page/Login";

const DrawerNav = createDrawerNavigator({
    CurrentTaskRoot: {
        screen: CurrentTaskRoot,
        navigationOptions: {
            drawerLabel: ""
        }
    },
    ApplyRoot: {
        screen: ApplyRoot,
        navigationOptions: {
            drawerLabel: ""
        }
    },
    ApprovalRoot: {
        screen: ApprovalRoot,
         navigationOptions: {
             drawerLabel: ""
         }
    },
    TaskSchedulingRoot: {
        screen: TaskSchedulingRoot,
        navigationOptions: {
            drawerLabel: ""
        }
    },
    RefuelRecordRoot: {
        screen: RefuelRecordRoot,
        navigationOptions: {
            drawerLabel: ""
        }
    },
    HandoverCarRoot: {
        screen: HandoverCarRoot,
        navigationOptions: {
            drawerLabel: ""
        }
    },
    AddressBookRoot: {
        screen: AddressBookRoot,
        navigationOptions: {
            drawerLabel: ""
        }
    },
    SettingRoot: {
        screen: SettingRoot,
        navigationOptions: {
            drawerLabel: ""
        }
    }
}, {
    drawerWidth: 150, // 
    drawerPosition: "left", // 
    initialRouteName: "HandoverCarRoot", // 
    contentOptions: {
        activeTintColor: "-sharp028ce5",  // 
        activeBackgroundColor: "-sharpfff", // 
        inactiveTintColor: "-sharp000",  // 
        inactiveBackgroundColor: "-sharpfff", // 
    }
});

export const Navigator = SwitchNavigator({
    Login: Login,
    Draw: DrawerNav
},
{
    initialRouteName: "Login",
});
//
    getList(){
        if(this.state.recordCount > 0) {
            this.setState({
                "type": 2
            })
        }
        let fd = new FormData();
        fd.append("session",this.state.session);
        fd.append("carId",this.state.carId);
        fd.append("type",this.state.type.toString());
        fd.append("updateTime",this.state.updateTime.toString());
        fd.append("recordCount",this.state.recordCount);
        HttpUtil.post("/carManage/phone/carOils/findAllCarOils",fd)
            .then(result=>{
                if(result.code == 1) {
                    let d = JSON.parse(result.content);
                    if(d.length>0) {
                        this.setState({
                            data: d,
                            recordCount : this.state.recordCount+d.length,
                            isRefresh: false,
                            showFoot:0
                        })
                    }else{
                        this.setState({
                            isRefresh:false,
                            showFoot:1
                        })
                    }
                }else if(result.code == 2) {
                    this.setState({isRefresh:false,showFoot:0});
                    Alert.alert("",result.content)
                }else if(result.code == 3) {
                    this.setState({isRefresh:false,showFoot:0});
                    Alert.alert("",result.content);
                    this.props.navigation.navigate("Login");//session
                } else {
                    this.setState({isRefresh:false,showFoot:0})
                    Alert.alert("",result.content)
                }
            })
    }
HttpUtil.post("/carManage/phone/login/checkLogin",fd)
            // .then(()=>Toast.loading("Loading...",0))
            .then(result=>{
                if(result.code == 1){
                    Toast.success("", 1);
                    let d = JSON.parse(result.content);
                    storage.save({
                        key: "session",
                        data: d.session
                    });
                    storage.save({
                        key: "userName",
                        data: this.state.userName
                    });
                    storage.save({
                        key: "imgUrl",
                        data: {
                            meetImage:d.meetImage,
                            returnImage:d.returnImage,
                            oilsImage:d.oilsImage,
                            applyCarImage:d.applyCarImage
                        }
                    });

                    this.props.navigation.navigate("Draw");
                       
                }else if(result.code == 2){
                    Toast.info(result.content,2);
                }else if(result.code == 3){
                    Toast.fail(result.content,2);
                }else if(result.code == 4){
                    Toast.fail(result.content,2);
                }
            })
            .catch(error=>{
                this.setState({
                    result: JSON.stringify(error)
                })
            })
Mar.28,2021

the route is as follows:
export const Navigator = SwitchNavigator ({

)
Login: Login,
Draw: DrawerNav

},
{

initialRouteName: 'Login',

});
the jump of successful login verification: this.props.navigation.navigate ('Draw');
the jump of expired token: this.props.navigation.navigate (' Login');
this jump itself is no problem. The reason for the jump failure may be that a Login route has been created in other child routes, resulting in the replacement of Login in the stack.

Menu