【发布时间】:2015-08-13 18:58:23
【问题描述】:
我正在尝试在其 componentDidMount 上将一个组件渲染为 Counter 到另一个组件 Panel。我还将一个名为count 的状态作为道具传递给Counter。在一定的时间间隔内,我正在更新状态。但问题是Counter 的道具没有更新。道具仍然保持初始值。是什么原因?
/** @jsx React.DOM */
var Panel = React.createClass({
getInitialState: function(){
return {
count: 0
}
},
tick: function() {
setInterval(function(that) {
that.setState({
count: that.state.count + 1
});
}, 500, this);
},
componentDidMount: function() {
var panel = React.findDOMNode(this.refs.panel);
React.render(<Counter count={this.state.count}/>, panel);
this.tick();
},
render: function(){
return <div ref="panel"></div>;
}
});
var Counter = React.createClass({
render: function() {
return <p>{this.props.count}</p>
}
});
React.render(<Panel/>, document.getElementById('container'));
<body>
<div id="container"></div>
</body>
我想知道这段代码不起作用的反应原因
JS斌check here
【问题讨论】:
标签: javascript reactjs