首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取AsyncStorage数据到<Text></Text>

获取AsyncStorage数据到<Text></Text>
EN

Stack Overflow用户
提问于 2018-11-21 19:00:57
回答 2查看 1.2K关注 0票数 1

我试图从AsyncStorage获得用户名(Reactive-Native)。并将此数据解析为<Text></Text>

我的当前代码什么也不显示。

获取数据的代码

代码语言:javascript
复制
getCreds = () => {
    return AsyncStorage.getItem('username')
}
...
<Text>{this.getCreds()}</Text>

HomeScreen.js

存储数据的代码

代码语言:javascript
复制
export const onSignIn = (username, pswd) => {
  AsyncStorage.setItem('username', username).done();
  AsyncStorage.setItem('pswd', pswd).done()
}

auth.js

我的问题是如何从AsyncStorage获取用户名并在呈现函数中解析为<Text></Text>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-21 19:14:22

您的问题是,您可能会得到名为AsyncStorage.getItem的异步调用,因此在调用它时需要考虑到这一点。

就这么说吧

代码语言:javascript
复制
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>
}
票数 0
EN

Stack Overflow用户

发布于 2020-12-24 19:43:14

按照以下步骤完成

代码语言:javascript
复制
    const[name,setname]=React.useState("");
const[flag,setFlag]=React.useState(false)
    const getCreds = async() => {
       let username= await AsyncStorage.getItem('username')
    setname[username];
setFlag[true];
    }
if(!flag)
{
getCreds();
}
    ...
    <Text>{name}</Text>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53418908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档