第一次问问题,对不起,如果我发帖不正确, 我对为什么它不会增加
有点困惑constructor(props) {
super(props);
this.state = {
heading: "Deconstruct Topic:",
topics: [
{
id: 0,
name: "all topics",
node: " all upperlevel"
}
]
};
}
handleSubmitTopicDecon = e => {
e.preventDefault();
const topics = this.state.topics.slice();
console.log(topics, "topics");
topics.push({
id: this.state.id + 1,
name: this.state.newName,
node: this.state.newNode
});
console.log(this.state.id, "id");
this.setState({ topics });
};
我不断获取的ID不是数字??? 感谢您的任何帮助,
答案 0 :(得分:0)
您已经这样定义this.state
:
this.state = {
heading: "Deconstruct Topic:",
topics: [{
id: 0,
name: "all topics",
node: " all upperlevel"
}
]
如您所见,在id
的正下方没有this.state
成员,只有在this.state.topics[0]
的正下方。
当您访问this.state.id
时,您会得到undefined
,然后尝试增加它并得到错误。
在这里浏览您想完成的事情,并相应地重写代码。
答案 1 :(得分:-1)
您已将topic变量声明为const。声明后不能更改const变量。将其更改为此代码,然后再次尝试:
var topic = this.state.topics.slice();