注销用户#ReactNative#react#Native后导航中出现错误



GitHub

React Native App,截至目前项目由SignIn、SignUp和SignOut组成。因此,我的注销功能的基本思想使用AsyncStorage从本地设备中删除令牌,并分派一个操作,最后导航到loginFlow(注册屏幕)

以下是我尝试过的东西。。。

  1. 在AuthContext中对所有内容进行评论,并显示一个带有消息的日志,以确保调用正确的函数onPress。

  2. 错误出现在呈现页面loginFlow的某个位置,当我用TrackList替换loginFlow时,该页面已成功完成。此外,需要注意的是,我在呈现Signup页面时出错,但本地存储中的令牌已被清除,这意味着AsyncStrorage工作正常!

  3. 尝试了我们的旧方法,把回调作为道具,但同样的错误!

错误

TypeError:_reactNative.Dimensions.removeEventListener不是函数。(在"_reactNative.Dimensions.removeEventListener('change',this.handleOrientationChange')"中,"_reactNature.Dimensions.removeEventListener"未定义)

此错误位于:in withDimensions(未定义)(由TabNavigationView创建)在RCTView中(由View创建)在视图中(由TabNavigationView创建)在选项卡NavigationView中(由NavigationView创建)在NavigationView中(由Navigator创建)在导航器中(由SceneView创建)在SceneView中(由SwitchView创建)在SwitchView中(由导航器创建)在Navigator中(由NavigationContainer创建)在NavigationContainer中(由_default创建)在提供程序中(由_default创建)在_default中(由withDevTools创建(_default))在DevTools中(_default)在RCTView中(由View创建)视图中(由AppContainer创建)在RCTView中(由View创建)视图中(由AppContainer创建)在AppContainer中在主(RootComponent)中

https://github.com/kaushalpandey1510/trek-tracker-app

当我注销用户并将其导航到主流时,我收到了类似的错误!

AccountScreen.js[src/screens/AccountScreen.js]

onPress={signout}调用AuthContext.js 中定义的signout函数

AuthContext.js[src/context/AuthContext.js]

signout函数成功地从asyncStorage中删除了令牌,但我在导航时遇到了上述错误。

尽管我在注册和注册时使用了相同的导航,但它们运行得非常好!

此外,AuthContext.js中使用的导航是导航库,用于对App.js中未包含的文件进行导航访问。navigationRef.js是文件

在AuthContext.js 中

从";react native";;….

并使用NativeModules.DevSettings.reload()而不是navigate("loginFlow")

最新更新