gpt4 book ai didi

arrays - ReactJS 未捕获类型错误 : Cannot read property 'concat' of undefined

转载 作者:行者123 更新时间:2023-12-04 02:07:01 25 4
gpt4 key购买 nike

我想在每次按下提交按钮时将一个元素添加到状态中。问题是,每次我按下提交按钮,它都会返回

Uncaught TypeError: Cannot read property 'concat' of undefined 错误,我无法弄清楚为什么它是未定义的。

class ChatRoom extends React.Component{
constructor(props){
super(props);
this.state = {
rooms: ['room1', 'room2'],
chatRoom: ''
}
}

handleAddRoom = (e) => {
console.log('handleAddRoom', e);
this.setState({
rooms: this.state.notes.concat(e)
})
}
handleSubmit(){
var newRoom = ReactDOM.findDOMNode(this.refs.room).value;
console.log(newRoom);
ReactDOM.findDOMNode(this.refs.room).value = '';
this.handleAddRoom(newRoom);
}
render(){
console.log("rooms: ", this.state.rooms)
return(
<div>
Hello from chat room!! Please enter new room:

<input type="text" className="form-control" placeholder="Add a new note" ref="room" />
<span className="input-group-btn">
<button className="btn btn-default" type="button" onClick={this.handleSubmit.bind(this)}>Submit</button>
</span>
</div>
)
}
}

这是给我带来问题的组件。我将 console log 放在不同的位置,它们都返回了正确的值。不知何故,当它试图连接 JS 时,它说它是 undefined 值。如何将元素连接到 rooms 状态?

最佳答案

这一行:

房间:this.state.notes.concat(e)

您还没有在任何地方定义 notes,因此它说它不能对 undefined 执行 concat

关于arrays - ReactJS 未捕获类型错误 : Cannot read property 'concat' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42520601/

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