如何在cbjects的对象中添加新数据,其中新数据来自react中的状态变量,它也是对象

问题描述 投票:0回答:1

我正在尝试在对象的对象中添加数据,其中新数据来自 React 中的状态变量,它也是一个对象。下面的代码如下

 let userData = {
    harsh:{
        password:"harsh",
        email:"harsh@",
        mobile:999999999,
    },
    mehul:{
        password:"mehul",
        email:"mehul@",
        mobile:8888888888,
    },
    khushboo:{
        password:"khushboo",
        email:"khushobo@",
        mobile:7777777777,
    }
}

我想在这个 userData 对象中添加数据

let handleReg = (usernames) => {
    console.log("in handle register");
    for(let i=0;i<usernames.length;i++) {
        if(regDetails.regUser == usernames[i]) {
            console.log("username already exists kindly use a different username or login");
            return;
        }
    }
    console.log("trying to add data in userData");
    let ru = regDetails.regUser;
    console.log(ru);
    return {...userData,ru:{
    password:regDetails.regPass,
    email:regDetails.regEmail,
    mobile:regDetails.regMobile,
   }
}

}

数据来自状态变量regdetails

let [regDetails,setRegDetails] = useState({
    regUser:'',
    regPass:'',
    regEmail:'',
    regMobile:'',
});

我已经编写了添加数据的代码,我使用了扩展运算符并尝试通过它添加数据,但我没有在 userData 中添加数据

javascript reactjs react-hooks state
1个回答
0
投票
let handleReg = (usernames) => {
    console.log("in handle register");
    for(let i=0;i<usernames.length;i++) {
        if(regDetails.regUser == usernames[i]) {
            console.log("username already exists kindly use a different username or login");
            return;
        }
    }
    console.log("trying to add data in userData");
    let ru = regDetails.regUser;
    console.log(ru);
   userData = {...userData,[ru]:{ // you have to update the variable user data 
    password:regDetails.regPass,
    email:regDetails.regEmail,
    mobile:regDetails.regMobile,
   } /// 

  userdata[ru] = { // or you can use this
    password:regDetails.regPass,
    email:regDetails.regEmail,
    mobile:regDetails.regMobile}
}

}```
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.