我注意到由于redux-persist,我在调试我在react-native中坚持的redux操作浪费了一定的时间。有时我只想擦除 AsyncStorage 以节省一些开发时间并尝试使用新数据。AsyncStorage
编辑:最好的情况下,解决方案应该适用于模拟器和真实设备、iOS 和 Android。对于不同的平台,可能有不同的解决方法。
谢谢
我注意到由于redux-persist,我在调试我在react-native中坚持的redux操作浪费了一定的时间。有时我只想擦除 AsyncStorage 以节省一些开发时间并尝试使用新数据。AsyncStorage
编辑:最好的情况下,解决方案应该适用于模拟器和真实设备、iOS 和 Android。对于不同的平台,可能有不同的解决方法。
谢谢
尝试使用清除所有客户端、库等的clear()函数AsyncStorage
clearAsyncStorage = async() => {
AsyncStorage.clear();
}
这个功能可以应用在代码库的任何地方来清除AsyncStorage
。例如,下面是如何在<Button>
组件上调用它。
<Button onPress={this.clearAsyncStorage}>
<Text>Clear Async Storage</Text>
</Button>
您可以轻松清除 AsyncStorage,而无需接触您的源代码。使用反应原生调试器;并在 devtools 控制台类型中
$reactNative.AsyncStorage.clear();
或者在 RN 的正常调试器中调用它,clear()
你可以把它放进去......
if (__DEV__) {
global.clear = () => {
AsyncStorage.clear().then(() => console.log('Cleared'))
}
}
redux-persist
带有purge()
回调。如果您愿意,您可以在某个地方的调试菜单中调用它。
使用 AsyncStorage 给我带来了参考错误:
ReferenceError: AsyncStorage is not defined
我终于在 React Native Debuguer文档中找到了关于
$reactNative.*
(对于 RN >= 0.56)
这意味着这个片段会清除我所有的本地存储:
clearAllData = () => {
$reactNative.AsyncStorage.getAllKeys()
.then(keys => $reactNative.AsyncStorage.multiRemove(keys))
.then(() => alert('success'));
}
然后就clearAllData();