如何从ES6导入模块(React Native)中清除缓存?

时间:2019-05-13 17:44:22

标签: react-native ecmascript-6 es6-modules es6-module-loader

我是React Native的新手,我只用两个屏幕并使用登录屏幕和个人资料屏幕之类的导航来构建应用程序。

我创建UserData模块,并将此文件导入我的个人资料屏幕。像这样

import * as UserData from '../modules/UserData';

按下注销按钮导航,导航回到登录屏幕。

const resetAction = StackActions.reset({
                                    index: 0,
                                    actions: [
                                        NavigationActions.navigate({ routeName: 'LoginStack' })
                                    ],
                                });
                            this.props.navigation.dispatch(resetAction);

然后我使用另一个用户ID登录,这将转到我的个人资料屏幕,但是UserData模块仍然保留以前的登录用户数据。如何避免这种情况我不知道。有人请帮助我。

谢谢。

2 个答案:

答案 0 :(得分:0)

注销时,必须删除组件的所有旧状态和道具,StackActions.reset不会自动删除它

答案 1 :(得分:0)

您可以按注销按钮来调用一个方法,在该方法中,您需要清除异步存储和所有mobx / redux存储。清除数据后,您导航用户以登录页面并重置导航。