#reactjs #react-native #asyncstorage
#reactjs #react-native #asyncstorage
Вопрос:
Я пытаюсь найти способ создать уровень абстракции для использования AysncStorage
в react-native. Я пытался создать класс с помощью методов const, но при его вызове я получаю эту ошибку:
DOMNodes from htmlparser2 Array [
Object {
"data": "Error Hapened: TypeError: _reactNative.default.setItem is not a function",
"next": null,
"parent": null,
"prev": null,
"type": "text",
},
Это код для js, пытающегося получить доступ AysncStorage
:
import AsyncStorage from 'react-native';
export const getClient = () => {
return _retrieveData("loggedClient");
}
export const setClient = (client) => {
_storeData("loggedClient", JSON.stringify(client));
}
export const clear = () => {
AsyncStorage.clear();
}
_retrieveData = async (id) => {
try {
const value = await AsyncStorage.getItem("@App:" id);
if (value !== null) {
// We have data!!
console.log("found: " id "=" value);
return value;
} else {
console.log("Not found: " id);
}
} catch (error) {
console.log("Failure retrieving " id " error: " error)
}
};
_storeData = async (id, value) => {
try {
await AsyncStorage.setItem('@App:' id, value);
console.log("saved");
} catch (error) {
console.log("Failure saving: " error);
}
};
есть идеи о том, как я могу создать класс абстракции в react-native для взаимодействия с AsyncStorage
?
Комментарии:
1.
_retrieveData
не возвращаетсяvalue
2. Спасибо @DacreDenny, хотя это не было основным случаем проблемы, возврат отсутствовал. Я скорректировал пример.
Ответ №1:
Попробуйте изменить способ импорта AysncStorage
на следующий:
import { AsyncStorage } from 'react-native';
Комментарии:
1. Отлично, рад, что смог помочь 😊