Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未定义键_Javascript_Reactjs - Fatal编程技术网

Javascript 未定义键

Javascript 未定义键,javascript,reactjs,Javascript,Reactjs,我正在做一个小任务。当我们按下“添加用户”按钮时,我们看到一个表单,里面有输入。当我们在输入中输入信息时,我们可以按“发送信息”按钮。我们添加了一个新用户。我使用react来构建它。当我将新用户添加到用户数组时,我将为此用户创建id。然后我使用这个id。但问题是,在我将信息放入表单并按下“发送信息”按钮后,我在控制台中看到“内联巴贝尔脚本:39未捕获引用错误:键” 没有定义”。为什么会这样 .user{ 显示器:flex; 宽度:100vw; } .用户名、.用户电话、.用户地址、.用户照片、

我正在做一个小任务。当我们按下“添加用户”按钮时,我们看到一个表单,里面有输入。当我们在输入中输入信息时,我们可以按“发送信息”按钮。我们添加了一个新用户。我使用react来构建它。当我将新用户添加到用户数组时,我将为此用户创建id。然后我使用这个id。但问题是,在我将信息放入表单并按下“发送信息”按钮后,我在控制台中看到“内联巴贝尔脚本:39未捕获引用错误:键” 没有定义”。为什么会这样

.user{
显示器:flex;
宽度:100vw;
}
.用户名、.用户电话、.用户地址、.用户照片、.按钮{
宽度:20vw;
}
#标题{
背景:一枝黄花;
显示器:flex;
宽度:100vw;
利润率最高:6vw;
}
#添加用户btn{
位置:绝对位置;
top:2vw;
右:1vw;
}

你好,世界
类MainContainer扩展了React.Component{
构造函数(){
超级();
这个州={
用户:[]
}
}
render(){
让usersToShow=this.\u getUser();
让我看看你的身份证;
返回(
{usersToShow}
)
}   
makeid(){
var text=“”;
var-mablue=“ABCDEFGHIJKLMNOPQRSTUVXYZABCDFGHIJKLMNOPQRSTUVXYZ0123456789”;
对于(变量i=0;i<10;i++)
text+=可能的.charAt(Math.floor(Math.random()*可能的.length));
返回文本;
} 
_addUser(姓名、电话、地址){
常量用户={
id:this.makeid(),
名称
电话,
地址
}
console.log(user.id);
this.setState({Users:this.state.Users.concat([user])})
}
_getUser(){
return(this.state.Users.map)((user)=>{
返回(
);
})
)
}
}  
类形式扩展了React.Component{
构造函数(){
超级();
这个州={
displaymodel:false
}
}
render(){
让它形成;
让btnText;
if(this.state.displaymodel){
形式=
这个。_name=input}>
这个。_address=input}>
这个。_phone=input}>
发送信息
;
btnText='cansel'
}
否则{
form=null;
btnText='addUser'
}
返回(
{btnText}
{form}
)
}  
_showModal(){
这是我的国家(
{displaymodel:!this.state.displaymodel}
);
}
_handleSubmit(事件){
event.preventDefault();
让name=this.\u name;
让电话=这个;
让地址=此地址;
this.props.addUser(name.value、phone.value、address.value);
}
} 
类HeaderTab扩展了React.Component{
render(){
返回(
名称
电话
地址
照片
)
}  
} 
类用户扩展了React.Component{
render(){
返回(
{name}
{电话}
{地址}
删除
编辑
)
}      
}
ReactDOM.render(
,
document.getElementById('root'))
);

控制台日志(id);应更改为console.log(user.id)

问题在于此类的实现:

class User extends React.Component{
        render(){
            return(
            <div className="user" key={key}>
                 <div className="user-name">{name}</div>
                 <div className="user-phone">{phone}</div>
                 <div className="user-address">{address}</div>
                 <div className="user-photo"></div>
                 <div className="buttons">
                     <button className="delete">delete</button>
                     <button className="edit">edit</button>
                 </div>
            </div>
    )
}      
}
其呈现方式如下:

<div>2 + 2 is { 2 + 2 }</div>
<div>2 + 2 is 4</div>
2+2等于4

console.log(id);Change console.log(id)=>console.log(user.id)Yes console.log I Change。但问题仍然是,现在的问题是用户组件的render()中的key={key}。试着移除它。我如何移除它?react need itI中map创建的每个元素都表示用户组件的render方法中语句中的键。够了
<div>2 + 2 is 4</div>