【发布时间】:2023-04-03 22:50:02
【问题描述】:
我正在尝试将对象附加到 AsyncStorage 中的现有对象数组,但没有成功。任何帮助表示赞赏!
当前代码:
const [storageItems, setStorageItems] = useState([]);
const handleHabitCreation = async () => {
setLoading(true);
const newHabit = {
name: name,
color: updatedColor,
days: daysCount,
times: timesCount,
reminder: selectedDate,
description: description,
};
try {
const jsonValue = await AsyncStorage.getItem('@habit');
setStorageItems(jsonValue);
} catch (error) {
console.error(error);
}
const stringifiedHabit = JSON.stringify(newHabit);
setStorageItems([...storageItems, stringifiedHabit]);
try {
await AsyncStorage.setItem('@habit', JSON.stringify(storageItems));
setTimeout(() => {
setLoading(false);
navigation.pop(3);
}, 2500);
} catch (error) {
console.error(error);
}
};
【问题讨论】:
-
我没有看到你在任何地方使用
JSON.parse()将存储的字符串实际解析为 JS 对象。 -
它以某种方式抛出一个错误,说无法解析“对象”
标签: javascript reactjs react-native asyncstorage