React:Uncaught TypeError:在instanceof check中期望一个函数,但得到#<object> </object>

时间:2014-03-08 02:10:20

标签: javascript reactjs

我是React的新手,刚刚玩过更新计时器示例

var Timer = React.createClass({
  displayName: 'Timer',
  getInitialState: function() {
    return {secondsElapsed: 0};
  },
  tick: function() {
    console.log("tick", this.isMounted())
    if (this.isMounted()) {
      this.setState({secondsElapsed: this.state.secondsElapsed + 1});   
    }
  },
  componentWillMount: function() {
    this.interval = setInterval(this.tick, 1000);
  },
  componentWillUnmount: function() {
    clearInterval(this.interval);
  },
  render: function() {
    return (
      React.DOM.div(null, "Seconds Elapsed: ", this.state.secondsElapsed)
    );
  }
});

React.renderComponent(Timer(null), document.body);

但是我遇到了一个错误,第一个勾选工作,我看到它从0渲染到1但是之后我得到以下错误。

在V0.8上我收到此错误

  

未捕获错误:不变违规:replaceState(...):在现有状态转换期间(例如在渲染中)无法更新。这可能会导致无限循环,因此被禁止。

v0.9显示此错误

  

未捕获的TypeError:在instanceof检查中期望一个函数,但得到#

如果我在this.state.secondsElapsed的渲染器函数中执行控制台登录,它将继续每秒递增。它只有当我尝试在返回值中引用它时才会出错。

我错过了什么?

0 个答案:

没有答案