由於某種原因,當我點擊它們時,我的onClick處理程序正在爲我的url添加一個空的查詢參數。我能夠通過將event.preventDefault添加到我的事件處理程序來解決此問題,但我想更好地瞭解實際發生的情況以及這是否是正確的解決方案。對於上下文,以下代碼是測試某些OAuth 2功能的簡單組件。 onClick處理程序只是觸發迴流操作。你會看到我已經將e.preventDefault()添加到它們中。沒有這種修復,任何時候我觸發這些功能之一,我的網址將從http://localhost:3000/#/signIn更改爲http://localhost:3000/?#/signIn。我也在使用react-router。爲什麼onClick事件會在我的url上附加一個問號?
// dependencies -------------------------------------------------------
import React from 'react';
import hello from '../../libs/hello';
import Actions from '../../actions/Actions';
import UserStore from '../../stores/userStore';
var Signin = React.createClass({
// life cycle events --------------------------------------------------
componentDidMount: function() {
},
render: function() {
return (
<form>
<h2>Sign in with Google</h2>
<button className="btn btn-primary" onClick={this._signIn} >
<i className="fa fa-google" />
<span> Google</span>
</button>
<button className="btn btn-info" onClick={this._logToken} >Log Token</button>
<button className="btn btn-warning" onClick={this._signOut}>Sign Out</button>
</form>
);
},
// custom methods -----------------------------------------------------
_signIn: function (e) {
e.preventDefault();
Actions.signIn();
},
_signOut: function (e) {
e.preventDefault();
Actions.signOut();
},
_logToken: function (e) {
// e.preventDefault();
Actions.logToken();
}
});
export default Signin;
謝謝。這非常有幫助。 – Constellates