GitHub
React Native App,截至目前项目由SignIn、SignUp和SignOut组成。因此,我的注销功能的基本思想使用AsyncStorage从本地设备中删除令牌,并分派一个操作,最后导航到loginFlow(注册屏幕)
以下是我尝试过的东西。。。
-
在AuthContext中对所有内容进行评论,并显示一个带有消息的日志,以确保调用正确的函数onPress。
-
错误出现在呈现页面loginFlow的某个位置,当我用TrackList替换loginFlow时,该页面已成功完成。此外,需要注意的是,我在呈现Signup页面时出错,但本地存储中的令牌已被清除,这意味着AsyncStrorage工作正常!
-
尝试了我们的旧方法,把回调作为道具,但同样的错误!
错误
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")