在 React Native 中将 Localstorage 转换为 AsyncStorage
Converting Localstorage to AsyncStorage in React Native
我有一个 json 对象需要存储在本地 storage/async 存储中。
这是本地存储代码,在网络上编译正确。
useEffect(()=>{
const value = localStorage.getItem(`myData${id}`);
console.log(value);
if(value){
setData(JSON.parse(value));
}
},[])
useEffect(() => {
localStorage.setItem(`myData${id}`, JSON.stringify(data));
})
这就是我将 ios 的相同代码转换为 AsyncStorage 的方式(导入后)
useEffect(()=>{
const value = AsyncStorage.getItem(`myData${id}`);
// console.log(value);
if(value){
setData(JSON.parse(value)); //ERROR HERE WITH JSON HIGHLIGHTED IN YELLOW
}
},[])
useEffect(() => {
AsyncStorage.setItem(`myData${id}`, JSON.stringify(data));
})
这显示渲染错误 JSON 解析错误:意外的标识符“对象”
您需要等待 AsyncStorage 获取您的项目数据:
useEffect(()=>{
const fn = async () => {
const value = await AsyncStorage.getItem(`myData${id}`);
if(value){
setData(JSON.parse(value));
}
}
fn();
},[]);
或
useEffect(()=>{
AsyncStorage
.getItem(`myData${id}`)
.then( value => {
if(value){
setData(JSON.parse(value));
}
});
},[]);
我有一个 json 对象需要存储在本地 storage/async 存储中。
这是本地存储代码,在网络上编译正确。
useEffect(()=>{
const value = localStorage.getItem(`myData${id}`);
console.log(value);
if(value){
setData(JSON.parse(value));
}
},[])
useEffect(() => {
localStorage.setItem(`myData${id}`, JSON.stringify(data));
})
这就是我将 ios 的相同代码转换为 AsyncStorage 的方式(导入后)
useEffect(()=>{
const value = AsyncStorage.getItem(`myData${id}`);
// console.log(value);
if(value){
setData(JSON.parse(value)); //ERROR HERE WITH JSON HIGHLIGHTED IN YELLOW
}
},[])
useEffect(() => {
AsyncStorage.setItem(`myData${id}`, JSON.stringify(data));
})
这显示渲染错误 JSON 解析错误:意外的标识符“对象”
您需要等待 AsyncStorage 获取您的项目数据:
useEffect(()=>{
const fn = async () => {
const value = await AsyncStorage.getItem(`myData${id}`);
if(value){
setData(JSON.parse(value));
}
}
fn();
},[]);
或
useEffect(()=>{
AsyncStorage
.getItem(`myData${id}`)
.then( value => {
if(value){
setData(JSON.parse(value));
}
});
},[]);