Сохранение и извлечение с ошибкой AsyncStorage

У меня есть объект хранения следующим образом:

import AsyncStorage from "react-native";

const deviceStorage = {
    async saveItem(key, value) {
        try {
          await AsyncStorage.setItem(key, value);
        } catch (error) {
          console.log('AsyncStorage Error: ' + error.message);
        }
      }
};

export default deviceStorage;

setItem выдает ошибку

Property 'setItem' does not exist on type 'typeof import("/Users/Developer/React/reactRallyApp/node_modules/@types/react-native/index")'

Я не понимаю, почему это происходит или как решить, я упускаю что-то простое здесь?


person jwarris91    schedule 09.06.2019    source источник


Ответы (1)


  1. AsyncStorage будет удален из ядра React Native, вместо этого используйте это: https://github.com/react-native-community/react-native-async-storage
  2. Вы помещаете функцию в объект без ключа.

Вы можете сделать это:

import { AsyncStorage } from "react-native";

const saveItem = async (key, value) => {
    try {
      await AsyncStorage.setItem(key, value);
    } catch (error) {
      console.log('AsyncStorage Error: ' + error.message);
    }
  }
};

export default saveItem;
person Kape    schedule 09.06.2019
comment
это не устранило предупреждение и создало новое в выражении await... "ожидание" разрешено только в асинхронной функции. - person jwarris91; 09.06.2019
comment
извините, только что добавил ключевое слово async - person Kape; 09.06.2019
comment
о да, и вы забыли фигурные скобки вокруг AsyncStorage, теперь код должен содержать слово - person Kape; 09.06.2019