React:状态属性在构造函数中初始化为某个值,但在呈现时返回未定义

时间:2018-08-01 18:38:56

标签: javascript reactjs react-state-management

在以下组件中,我有一个state属性,该状态属性在构造函数中初始化为5。但是,当我在render中使用它时,它将返回undefined。我不明白为什么。

constructor() {
  super();

  this.state = {
    loadcomplete: false,
    twitterfeed: {
      techcrunch: [],
      laughingsquid: [],
      appdirect: []
    },
    tweetCount: 30
  };
}

render() {
  let { tweetCount } = this.state.tweetCount;
  console.log(tweetCount, "tweetcount");
  return(<div></div>)
}

1 个答案:

答案 0 :(得分:2)

应该解包this.state而不是this.state.tweetCount

let { tweetCount } = this.state.tweetCount约等于let tweetCount = this.state.tweetCount.tweetCount

使用

let { tweetCount } = this.state;

编辑:是的,正如其他人所指出的那样,您应该正确地将prop传递给构造函数,并通过super传递给父类-但这不是{ {1}}是tweetCount