如何使用react

时间:2018-08-13 08:21:46

标签: reactjs

第一次问问题,对不起,如果我发帖不正确, 我对为什么它不会增加

有点困惑
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不是数字??? 感谢您的任何帮助,

2 个答案:

答案 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();