Javascript 在react native中擦除异步存储

Javascript 在react native中擦除异步存储,javascript,react-native,redux,asyncstorage,Javascript,React Native,Redux,Asyncstorage,我注意到我在调试redux操作时浪费了一定的时间,这要归功于react native中的AsyncStorage。有时我只想删除异步存储以节省一些开发时间,并尝试使用新数据 编辑:最佳情况解决方案应适用于模拟器和真实设备、iOS和Android。不同的平台可能有不同的解决方案 谢谢尝试使用函数擦除所有客户端、库等的所有异步存储redux persist附带purge()回调。如果您选择,您可以在调试菜单的某个地方调用它 clearAsyncStorage = async() => {

我注意到我在调试redux操作时浪费了一定的时间,这要归功于react native中的
AsyncStorage
。有时我只想删除异步存储以节省一些开发时间,并尝试使用新数据

编辑:最佳情况解决方案应适用于模拟器和真实设备、iOS和Android。不同的平台可能有不同的解决方案


谢谢

尝试使用函数擦除所有客户端、库等的所有
异步存储

redux persist
附带
purge()
回调。如果您选择,您可以在调试菜单的某个地方调用它

clearAsyncStorage = async() => {
    AsyncStorage.clear();
}
此功能可应用于代码库中的任何位置,以清除
异步存储
。例如,下面是如何在
组件上调用它

<Button onPress={this.clearAsyncStorage}>
  <Text>Clear Async Storage</Text>
</Button>

清除异步存储

您可以轻松地清除异步存储,而无需接触源代码。使用;和在devtools控制台类型中

$reactNative.AsyncStorage.clear();
或者使用
clear()
在RN的普通调试器中调用它,您可以将其放入

if(\uuu DEV\uuu){
global.clear=()=>{
AsyncStorage.clear()。然后(()=>console.log('Cleared'))
}
}

IMHO,所有提到AsyncStorage.clear()的答案都是错误的,因为正如上面所说:

删除所有客户端、库等的所有异步存储。您可能需要 我不想称之为;使用removeItem或multiRemove仅清除 你的应用程序的密钥

可以找到正确的答案:

下面是一个简单的方法:


这将需要一个非常小的实现,听起来不错。您是否在
窗口下有全局助手方法
对象或类似的东西?@jsdario在调试器模式下是$reactNative。请看我的答案。这是之前答案的总结,对吗?我将检查这两种方法,并尝试区分两种答案。我已经验证了另一个答案,因为AsyncStorage始终可以通过从“react native”导入
获得。它非常方便。您可以尝试使用react native dev按钮。小加法,完全满足您的需要。实际上,我将redux persist中的purge()添加到clearActions中,并在需要时使用它。堆栈溢出时通常不建议使用纯代码的答案,因为它们通常不是很清楚。请考虑更新这个答案,简要描述你正在做什么,它是如何工作的,以及与相关文档的链接。我只是认为新手开发者可以有一个现成的功能来清除AcsiCube。对于更有经验的开发人员,阅读上述答案和注释可能就足够了。如果要验证是否已清除密钥,可以运行
$reactNative.AsyncStorage.getAllKeys()。然后(data=>console.log(data))
在运行上述命令表单react native debugger后列出密钥。
clearAllData() {
    AsyncStorage.getAllKeys()
        .then(keys => AsyncStorage.multiRemove(keys))
        .then(() => alert('success'));
}