AsyncStorage.removeItem 没有删除项目
AsyncStorage.removeItem is not removing the item
有很多可用的问题,我尝试了将近 12 种不同的方法,但 none 都有效。效率最高的是:
async function removeItemValue(key) {
try {
await AsyncStorage.removeItem(key);
return true;
}
catch (exception) {
return false;
}
}
那么我称它为:
useEffect(() => {
removeItemValue('@cartInfo');
}, []);
我试过将它放在 useEffect
钩子之外,但仍然没有效果。我做错了什么?
更新:
也试过了,但没有用:
useEffect(() => {
removeItemValue('@cartInfo').then(() => { console.log('removed') })
}, []);
也试过
useEffect(() => {
AsyncStorage.removeItem('@cartInfo', () => {
AsyncStorage.getItem('@cartInfo').then((res) => {
console.log("RES IS: " + res);
})
})
}, []);
仍然没有运气。我正在使用 @react-native-community/async-storage
的 v1.12.1
正如我们在 chat 中所讨论的那样,AsyncStorage.removeItem
实际上是有效的,问题是 setItem
被调用得太频繁了,所以这个值在被读取之前被替换了在 getItem
.
有很多可用的问题,我尝试了将近 12 种不同的方法,但 none 都有效。效率最高的是:
async function removeItemValue(key) {
try {
await AsyncStorage.removeItem(key);
return true;
}
catch (exception) {
return false;
}
}
那么我称它为:
useEffect(() => {
removeItemValue('@cartInfo');
}, []);
我试过将它放在 useEffect
钩子之外,但仍然没有效果。我做错了什么?
更新:
也试过了,但没有用:
useEffect(() => {
removeItemValue('@cartInfo').then(() => { console.log('removed') })
}, []);
也试过
useEffect(() => {
AsyncStorage.removeItem('@cartInfo', () => {
AsyncStorage.getItem('@cartInfo').then((res) => {
console.log("RES IS: " + res);
})
})
}, []);
仍然没有运气。我正在使用 @react-native-community/async-storage
的 v1.12.1正如我们在 chat 中所讨论的那样,AsyncStorage.removeItem
实际上是有效的,问题是 setItem
被调用得太频繁了,所以这个值在被读取之前被替换了在 getItem
.