如何将项目添加到 React Native AsyncStorage

How to Add items to React Native AsyncStorage

我正在构建一个应用程序,用户可以在其中插入任务和创建任务的时间,并将两者都保存到本机反应中的 asyncStorage 中。当一个新任务添加到异步存储时,我希望 getItems() 函数能够同时显示上一个任务和新任务。 怎么做到的?

async function saveItems() {
      const items = []
              items.push(task,timestamp )
              await AsyncStorage.setItem('key', JSON.stringify(items))
          }

     async function getItems() {
          try {
            const items =  await AsyncStorage.getItem('key');
            if (items !== null) {
              console.log(JSON.parse(items));
            }      
          } catch (error) {
            console.log(error)
          }
         }
async function saveItems() { 
   var items = AsyncStorage.getItem('key');
   if(items)
       items.push([task,timestamp] ) 
  await AsyncStorage.setItem('key', items);
 } 

async function getItems() { 
         const items = await AsyncStorage.getItem('key');
         if (items !== null)
         console.log(items);
}

项目将是数组的数组 例如:

items = [[task1,timestamp1],[task2,timestamp2]]

你可以做的是为任务定义一个结构,比如

const task = {
  description: '',
  timestamp: ''
}

现在,无论何时创建任务,您都可以将其附加到存储在 AsyncStorage 中的任务中。

const saveItems = async() => {
  const tasks = await AsyncStorage.getItem('key');
  if(tasks != null){
    const updatedTasks = JSON.parse(tasks).append(task);
    await asyncStorage.setItem('key', JSON.stringify(updatedTasks))
  }
  else{
    await AsyncStorage.setItem('key', JSON.stringify([task]))
  }
}

现在,当您从 AsyncStrorage 获取项目时,它将检索完整的任务列表