我第一次玩游戏时遇到了一些问题。我正在创建3个带有值的按钮,然后在单击它们时执行一个函数,以发送发布请求并取回显示给用户的数据。由于某些原因,即使我没有单击按钮,_postURL函数也会无限执行。有人知道为什么吗?
var Test = React.createClass({
getInitialState: function(){
return { logs: []};
},
_postURL: function(name){
self = this;
console.log(name);
$.post("http://localhost:8080/DatabaseDemo/Display.do", {query: name})
.done(function(data){
console.log(data);
self.setState({logs: data});
});
},
render: function() {
if(!this.state.logs){
logs = <p>Choose a log</p>
}
return (
<div>
<form>
<button value="api_log_colo2_mysql2_Jan2015" onClick={this._postURL("api_log_colo2_mysql2_Jan2015")}>Jan2015</button>
<button value="api_log_colo2_mysql2_Aug2014" onClick={this._postURL("api_log_colo2_mysql2_Aug2014")}>Aug2014</button>
<button value="api_log_colo2_mysql2_Dec2014" onClick={this._postURL("api_log_colo2_mysql2_Dec2014")}>Dec2014</button>
</form>
<p>{this.state.logs}</p>
</div>
);
}
});
最佳答案
onClick
属性需要一个函数,但是您正在执行该函数,该函数返回undefined
。您可以使用bind
:
onClick={this._postURL.bind(this, 'api_log...')}
关于javascript - react ,页面不断刷新,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29069676/