首页 > 解决方案 > React Native 中如何使用 AsyncStorage 存储数组

问题描述

我正在尝试使用 AsyncStorage 来使用 React Native 存储简单的配置文件。

这是我到目前为止添加配置文件的内容,我尝试了 console.log(contact),但什么也没显示。

 function AddContact(props) {

  const [FName,setFName] = useState('');
  const [LName,setLName] = useState('');
  const [PNumber,setPNumber] = useState('');

  var contact = {
    firstname : FName,
    lastname : LName,
    phonenumber : PNumber
  };

  const storeContact = async() => {
    try {
      await AsyncStorage.setItem(
        '@MySuperStore:key', JSON.stringify(contact));

    } catch (error) {
    // Error saving data
  }}

For Loading Profile


  const loadContact = async () => {
    try {
      const value = await AsyncStorage.getItem('@MySuperStore:key', JSON.stringify(contact));
      if (value !== null) {
        // We have data!!
        console.log(value);
      }
    } catch (error) {
      // Error retrieving data
    }
  };

请帮忙。

标签: react-nativeasync-awaitasyncstorage

解决方案


为了从异步存储加载数据,您的loadContact方法应该是:

For Loading Profile


  const loadContact = async () => {
    try {
      const value = await AsyncStorage.getItem('@MySuperStore:key');
      const json = JSON.parse(value); // this is how you get back the array stored
      if (json !== null) {
        // We have data!!
        console.log(value);
      }
    } catch (error) {
      // Error retrieving data
    }
  };

推荐阅读