【问题标题】:React Native - Clear Async Storage ScriptReact Native - 清除异步存储脚本
【发布时间】:2020-04-03 08:38:53
【问题描述】:

我目前正在构建一个使用异步存储的反应原生应用程序。我在组件中有条件来决定是向 API 发出请求还是使用存储在内存中的数据。因此,为了测试这些条件,我经常需要使用AsyncStorage.clear() 清除 AsyncStorage。

如果我将它放在其中一个组件中,这将有效,但是将它放在单独的脚本中会更实用 - 这让我想到了我的问题:

我想要一个脚本如下:

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

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

但是我收到一条错误消息,提示“不能在模块外使用 import 语句”。

我是否遗漏了任何明显/试图做我不应该做的事情?我尝试将文件类型更改为.mjs,但没有成功。

【问题讨论】:

    标签: node.js react-native npm asyncstorage


    【解决方案1】:

    如果你需要这样做,你不能使用 nodejs 脚本,因为 node 脚本永远不会到达原生端,因为 async-storage 是一个原生库,它直接连接到 Android 或 IOS。

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

    和错误“不能在模块外使用 import 语句”。这是因为 nodeJs 不理解 import AsyncStorage from '@react-native-community/async-storage'; 的语法,他们需要一个像 babel 这样的编译器。

    【讨论】:

    • 好的,谢谢,这就是我正在寻找的答案,目前我有一个条件可以完成这项工作。看起来我会保留它以用于开发目的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2019-10-25
    • 2022-01-17
    • 1970-01-01
    • 2021-03-18
    • 2021-06-16
    • 1970-01-01
    • 1970-01-01
    • 2022-12-07
    相关资源
    最近更新 更多