如何在缓存中保存用户名和密码?反应原生 [英] how to save username and password in cache ? react-native

查看:54
本文介绍了如何在缓存中保存用户名和密码?反应原生的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试将我的用户名和密码保存在缓存中.我无法保存两个数据,所以我尝试在代码下方保存用户名.

但是当我向 TextInput 输入字母时,数据会转到

but when I enter letter to TextInput, data goes to

savedata()

但是在这里,this.setState 不起作用我不知道为什么.因为在渲染页面时,

console.log("mykey:", this.state.mykey);

console.log("mykey : ", this.state.mykey );

给我一个空对象

这里是代码

<View style={styles.ChildViewStyle}>

    <TextInput
        value = {this.state.mykey}
        placeholder= "Kullanıcı Adı"
        placeholderTextColor="#fff"
        onChangeText={(text) =>  this.savedata(text)}
        keyboardType='email-address'
        onSubmitEditing={() => this.passwordInput.focus()}
        style={styles.input}
    />

</View>

这是我的方法

savedata = (value) => {
    AsyncStorage.setItem("myKey", value);
    this.setState({myKey: value});

    console.log("deneme",value);
}

componentDidMount(){
    AsyncStorage.getItem("myKey").then((value) => {
        this.setState({myKey: value});
        console.log("didmounth : ", value)
    }).done();
}

另外如何保存用户名和密码这两个值?

推荐答案

您可以尝试将 json 存储为字符串,然后在 get 期间解析 json

You could try to store json as string and later parse json during get

savedata = (username,password) => {
 let value = {'username' : username, 'password':password}   
 await AsyncStorage.setItem('myKey', JSON.stringify(value));
    this.setState({myKey: value});

    console.log("deneme",value);
} 

constructor(){
    AsyncStorage.getItem("myKey").then((value) => {
         if (value){
         let valueParsed = JSON.parse(value)        
         this.setState({myKey: valueParsed});
         console.log("didmounth : ", valueParsed)
         }    
})
}

这篇关于如何在缓存中保存用户名和密码?反应原生的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆