【发布时间】:2020-07-07 16:19:13
【问题描述】:
我在尝试从 AsyncStorage 检索数据时遇到问题,我不能直接分配这样的状态,因为它总是返回未定义的,我该如何避免这种情况?
export default class ListTodo extends React.Component {
constructor(props) {
super(props);
this.state = {
data: {},
};
}
componentDidMount() {
//promise
GetDataAsyncStorage('@TODOS').then((data) => {
this.setState({
data: data,
});
});
}
render() {
const {data} = this.state;
console.log(data); // undifined
return (
<>
<Header />
<View>
<FlatList
data={data}
renderItem={({item}) => <TodoItemComponent data={item} />}
keyExtractor={(item) => item.id}
/>
</View>
</>
);
}
}
这是我从 asynStorage 获取数据的函数
export const GetDataAsyncStorage = async (key) => {
try {
let data = await AsyncStorage.getItem(key);
return {status: true, data: JSON.parse(data)};
} catch (error) {
return {status: false};
}
};
【问题讨论】:
标签: javascript react-native async-await