gpt4 book ai didi

javascript - 如何在 ReactJS + Redux 中检查数组中的每个对象?

转载 作者:行者123 更新时间:2023-12-03 06:33:58 24 4
gpt4 key购买 nike

我有一个用户对象数组,每个对象都有“用户名”和“密码”。

然后有一个登录页面,一旦用户输入用户名和密码,我想将其传递到reducer中并将它们与“users”数组中的每个对象进行比较,如果一个对象与两者都匹配、“密码”和“用户名”被发现,我希望它返回“true”。

以下是 reducer :

const usersReducer = function(users = [], action){
switch (action.type){

case 'VERIFY_USER':
return users.map((user)=> {
if(user.username === action.username && user.password === action.password){
return true
} else{
return false
}
})
}

default:
return users
}
}

但它似乎总是返回 true。我使用的 map 正确吗?如果没有,是否有这样的方法可以遍历数组中的每个对象?任何见解或指导将不胜感激。预先感谢您!

编辑**从以下位置调用它:

  verifyLoginUser(){
event.preventDefault()

if(this.props.actions.verifyUser(this.props.loginUser.username, this.props.loginUser.password)){
console.log('LOGGED IN')
} else {
console.log('NOT LOGGED IN')
}
}

使用以下 reducer :

case 'VERIFY_USER':
let isVerified = false;
users.forEach((user)=> {
if(user.username === action.username && user.password === action.password){
isVerified = true;
return false;
}
});
return isVerified;

最佳答案

使用Array.some

return users.some(user => user.username === action.username && user.password === action.password);

关于javascript - 如何在 ReactJS + Redux 中检查数组中的每个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38318760/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com