jsd*_*rio 24 javascript react-native redux asyncstorage
我注意到,我在浪费时间调试一定量的终极版,我坚持到行动AsyncStorage中反应母语感谢终极版-坚持.有时我只想擦除AsyncStorage以节省一些开发时间并尝试使用新数据.
编辑:最好的解决方案应该适用于模拟器和真实设备,iOS和Android.也许不同的平台有不同的工作方式.
谢谢
Ali*_*ter 14
您可以轻松清除 AsyncStorage,而无需接触源代码。使用本机调试器;并在 devtools 控制台类型中
$reactNative.AsyncStorage.clear();
Run Code Online (Sandbox Code Playgroud)
或者在 RN 的普通调试器中调用它,clear()你可以把它放在......
if (__DEV__) {
global.clear = () => {
AsyncStorage.clear().then(() => console.log('Cleared'))
}
}
Run Code Online (Sandbox Code Playgroud)
hza*_*zak 12
clearAsyncStorage = async() => {
AsyncStorage.clear();
}
Run Code Online (Sandbox Code Playgroud)
可以在代码库中的任何位置应用此功能来清除AsyncStorage。例如,这是如何在<Button>组件上调用它。
<Button onPress={this.clearAsyncStorage}>
<Text>Clear Async Storage</Text>
</Button>
Run Code Online (Sandbox Code Playgroud)
恕我直言,所有关于AsyncStorage.clear()的答案都是错误的,因为正如文档所说:
擦除所有客户端、库等的所有 AsyncStorage。您可能不想调用它;使用 removeItem 或 multiRemove 仅清除应用程序的键。
正确答案可以在这里找到:
这是一个简单的方法:
clearAllData() {
AsyncStorage.getAllKeys()
.then(keys => AsyncStorage.multiRemove(keys))
.then(() => alert('success'));
}
Run Code Online (Sandbox Code Playgroud)