Reactjs 无法使用react native navigation导航到有条件设置的屏幕

Reactjs 无法使用react native navigation导航到有条件设置的屏幕,reactjs,typescript,react-native,react-native-navigation,Reactjs,Typescript,React Native,React Native Navigation,我对react native还比较陌生,可能是因为我的代码设置得很差,但是,我有条件地设置了导航器,这取决于用户是否登录 const-App:React.FunctionComponent=()=>{ const auth=useAppSelector((state)=>state.auth.value); 返回( {auth==null( ) : ( } 抽屉内容选项={{ activeTintColor:color.primaryDark, 项目样式:{ 背景色:“transperant”,

我对react native还比较陌生,可能是因为我的代码设置得很差,但是,我有条件地设置了导航器,这取决于用户是否登录

const-App:React.FunctionComponent=()=>{
const auth=useAppSelector((state)=>state.auth.value);
返回(
{auth==null(
) : (
}
抽屉内容选项={{
activeTintColor:color.primaryDark,
项目样式:{
背景色:“transperant”,
边框颜色:color.primaryDark,
边界宽度:1,
不透明度:0.8,
},
}}
抽屉样式={style.drawer}>
)}
);
};
如上面的代码所示,将根据是否设置了
auth
来设置导航,这是用户的auth令牌。这非常有效,我遇到的问题是注销时

“注销”按钮位于抽屉中:

函数CustomDrawerContent(props:DrawerContentComponentProps){
const dispatch=useAppDispatch();
const onLogOutPress=()=>{
发送(注销());
道具。导航。导航(“登录”);
};
返回(
);
}
其中redux
注销操作仅重置令牌状态。当点击注销按钮时,我得到了错误信息

错误任何导航器都未处理有效负载为{“name”:“登录”}的操作“NAVIGATE”

您是否有名为“登录”的屏幕


我假设发生这种情况是因为有条件地呈现导航(基于
auth
)。但是如果是这样的话,我怎样才能在抽屉的导航中使用“登录”屏幕呢?

调度将是异步的,并且需要时间来更改您的redux

导航时,redux尚未生效,因此您的“登录”屏幕不存在


你不需要导航,因为当redux生效时,你的应用程序将自动导航到“登录”,因为当auth==null时,这是导航器的默认屏幕。

我花了大约一个小时尝试不同的方式导航到屏幕,结果发现redux和react native非常棒,他们会帮我做到。