Javascript 在react native中擦除异步存储
我注意到我在调试redux操作时浪费了一定的时间,这要归功于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() => {
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'));
}