首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AsyncStorage:搜索值

AsyncStorage:搜索值
EN

Stack Overflow用户
提问于 2020-10-26 21:06:48
回答 1查看 171关注 0票数 2

我在asyncStorage中有一个名为asyncStorage的表,可以用来保存多个users详细信息(也就是说,多个用户只使用一部手机就可以登录到应用程序中)。

我有过

代码语言:javascript
复制
const users = {
  email: this.state.email,
  password: this.state.password,
  sex: this.state.sex
};

然后使用JSON.stringify()保存它

现在,如何检索正确的用户信息?

我正沿着这条路线思考,但由于使用

AsyncStorage

代码语言:javascript
复制
SELECT email, password from users where email===this.state.email and password === this.state.password

我也是这样想的,但我肯定做错了。

代码语言:javascript
复制
getStudent = async () => {
    //function to get the value from AsyncStorage
    let users= await AsyncStorage.getItem('students');
    let allUsers= JSON.parse(users);

    // Check if entered username and password equals any username and password from the DB
    allUsers.filter(function (credentials) {
       credentials.email.includes(this.state.email);// Then, I hit the wall here
    })
    this.props.navigation.navigate('ViewProfile');
  };

我该怎么做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-27 05:51:45

用户必须是数组而不是对象。例如

代码语言:javascript
复制
const users = [ 
{ email: 'test@test.com', password: '123', sex: 'male'},
{ email: 'test@test.com', password: '123', sex: 'male'}
{ email: 'test@test.com', password: '123', sex: 'male'}
]

另一种代码

代码语言:javascript
复制
let user = allUsers.filter(u => u.email === this.state.email)[0];

if (user) {
  this.props.navigation.navigate('/viewProfile', { data: user })
} else {
  alert ('Not found')
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64544971

复制
相关文章

相似问题

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