Javascript 为什么findUser.username返回未识别?
在my console.log中,会打印findUser.username,但错误仍然存在。谁能帮我一下吗。多谢各位Javascript 为什么findUser.username返回未识别?,javascript,reactjs,Javascript,Reactjs,在my console.log中,会打印findUser.username,但错误仍然存在。谁能帮我一下吗。多谢各位 const auth_user = [ { username: "amylussie", password: "123456789", name: "Amy Lusita", phone: "04055631", address: "23 UL f
const auth_user = [
{
username: "amylussie",
password: "123456789",
name: "Amy Lusita",
phone: "04055631",
address: "23 UL fasdf",
bestfriend: "Mark"
}
];
const mapDispatchToProps = (dispatch) => {
return {
setUser: (myUser) => dispatch(action_checkUser(myUser))
};
};
const Search = (props) => {
const [search, setSearch] = useState("");
const onSearch = () => {
const findUser = auth_user.find((user) =>
user.username.toLocaleLowerCase().includes(search.toLocaleLowerCase())
);
console.log(findUser.username);
if (findUser.username !== search) {
console.log("Please try again");
}
props.setUser(findUser);
};
确保您的搜索具有值
amylussie
,否则,它将无法找到用户名:“amylussie”
,并返回未定义
数组中满足所提供测试函数的第一个元素的值。>否则,将返回undefined
条件
findUser.username!==搜索
将始终为真,除非搜索
值与findUser.username
完全匹配,即当用户的搜索输入为“amylussie”时
一个改进可能是简单地检查未返回undefined
的结果是否未找到匹配项
const Search = (props) => {
const [search, setSearch] = React.useState("");
const onSearch = () => {
const findUser = auth_user.find((user) =>
user.username.toLocaleLowerCase().includes(search.toLocaleLowerCase())
);
if (!findUser) {
console.log("Please try again");
return; // <-- return early
}
console.log(findUser.username);
props.setUser(findUser);
};
...
return (
...
);
}
const Search=(道具)=>{
const[search,setSearch]=React.useState(“”);
const onSearch=()=>{
const findUser=auth_user.find((用户)=>
user.username.toLocaleLowerCase().includes(search.toLocaleLowerCase())
);
如果(!findUser){
console.log(“请重试”);
return;//你能添加你的演示吗?Codewise看起来不错。可能在其他地方出错。我刚做了。请检查你必须共享URL。我的意思是我只是将我的演示添加到你发布的链接中。你能看到吗?是的,我说你必须共享该链接,我共享的链接在你保存代码后立即启动。它将创建你的沙盒链接,你可以我想在这里分享一下