javascript - 获取 AsyncStorage 数据到
问题描述
我正在尝试从 AsyncStorage (React-Native) 获取用户名。并将这些数据解析为<Text></Text>
.
我当前的代码什么也不显示。
获取数据的代码
getCreds = () => {
return AsyncStorage.getItem('username')
}
...
<Text>{this.getCreds()}</Text>
HomeScreen.js
存储数据的代码
export const onSignIn = (username, pswd) => {
AsyncStorage.setItem('username', username).done();
AsyncStorage.setItem('pswd', pswd).done()
}
auth.js
我的问题是如何从 AsyncStorage 获取用户名并解析为<Text></Text>
我的渲染函数中的 a ?
解决方案
您的问题是您可能通过名称获得的 AsyncStorage.getItem 是一个异步调用,因此您在调用它时需要考虑到这一点。
这样称呼
constructor(props) {
super(props);
this.state = {username: null};
this.loadCredentials();
}
async loadCredentials() {
try {
const username = await AsyncStorage.getItem('username');
this.setState({username: username});
}
catch (error) {
// Manage error handling
}
}
render() {
const {username} = this.state;
if (username != null) {
return <Text>{username}</Text>
}
return <Text>Loading text...</Text>
}
推荐阅读
- python - python 在 C 编程语言中有类似指针的东西吗?
- html - Fontawesome 5 图标未显示在普通 HTML 和 CSS 文件中?
- sql - SQL计算视图中的时间差异
- azure - 使用突触笔记本中的多个链接服务在多个路径中读取/写入一个 azure gen2 存储帐户中的数据
- javascript - ::在选择器出现在图像容器顶部之前?
- flutter - Flutter:我可以在 ListView 构建器中启用/禁用 InkWell 吗?
- xml - 在 Pyspark 中读取 xml 文件
- prometheus - 如何从 k8s 上的 grafana 代理中提取 prometheus 中的指标?
- java - 我不能在 onBingViewHolder 方法中使用 getRef,我正在尝试在另一个视图中显示所选项目
- qt - QT:实现QWidget的子类并生成dll时的问题