在本机反应中,我试图在 AsyncStorage 中保存一个对象,但我的应用程序抛出错误

问题描述 投票:0回答:0

我只想使用 AsyncStorage 将一个简单的对象保存到本地存储中,但我的应用程序抛出一条错误消息“[SyntaxError: JSON Parse error: Unexpected identifier “object”]”

这是我的代码:

import forSaving from "./forSaving";

function About() {
  const obj = { id: 1, word: "This is a word" };

  const test = forSaving.store("test", obj);

  const getTest = forSaving.get(test);
  console.log(getTest);
}
export default About;

我的目标只是在这里 console.log(getTest)

在下面,这是 AsyncStorage 的可重用组件,我刚刚从 Mosh 的课程中复制了它。 所以,在这里,我想应该没有错吧?

import AsyncStorage from "@react-native-async-storage/async-storage";
import moment from "moment";

const prefix = "cache";
const expiryInMinutes = 10;

const store = async (key, value) => {
  try {
    const item = {
      value,
      timestamp: Date.now(),
    };

    await AsyncStorage.setItem(prefix + key, JSON.stringify(item));
  } catch (error) {
    console.log(error);
  }
};

const isExpired = (item) => {
  const now = moment(Data.now());
  const storedTime = moment(item.timestamp);

  return now.diff(storedTime, "minutes") > expiryInMinutes;
};

const get = async (key) => {
  try {
    const value = AsyncStorage.getItem(prefix + key);
    const item = JSON.parse(value);

    if (!item) return null;

    if (isExpired(item)) {
      await AsyncStorage.removeItem(prefix + key);
      return null;
    }

    return item.value;
  } catch (error) {
    console.log(error);
  }
};

export default {
  store,
  get,
};

但是,它抛出了那个错误...... 现在我不知道该怎么做才能解决这个问题。 你能看看我的代码并告诉我哪里错了吗? 提前谢谢你。

javascript reactjs react-native local
© www.soinside.com 2019 - 2024. All rights reserved.