React Native-清除异步存储脚本

时间:2020-04-03 08:38:53

标签: node.js react-native npm asyncstorage

我目前正在构建一个使用异步存储的React Native应用。我在组件中有条件,可以决定是否向API发出请求或使用存储在内存中的数据。因此,要测试这些条件,我通常必须使用AsyncStorage.clear()清除AsyncStorage。

如果我将其包含在一个组件中,则此方法有效,但是将其包含在单独的脚本中会更实际-这使我想到了我的问题:

我想要一个如下脚本:

import AsyncStorage from '@react-native-community/async-storage';
AsyncStorage.clear();
console.log('STORAGE CLEARED');

,然后使用诸如node clearStorage.js之类的命令(以及后来的npm脚本)运行它。

但是我收到一条错误消息:“无法在模块外部使用import语句”。

我错过了任何明显的东西/试图做我不应该做的事情吗?我尝试将文件类型更改为.mjs,但是没有运气。

1 个答案:

答案 0 :(得分:0)

如果需要执行此操作,则不能使用nodejs脚本,因为该节点脚本永远都不会到达本机端,因为async-storage是本机库,它直接连接到Android或IOS。

另一种解决方案可能是在应用程序的开头,您可以运行该代码,或者仅在开发人员模式下单击清理数据时创建一个按钮。

和错误“无法在模块外部使用import语句”。这是因为nodeJ不了解语法import AsyncStorage from '@react-native-community/async-storage';,因此需要像babel这样的编译器。