किसी कारण से मेरे ऑनक्लिक हैंडलर मेरे यूआरएल पर एक खाली क्वेरी पैराम जोड़ रहे हैं जब मैं उन्हें क्लिक करता हूं। मैं इवेंट हैंडलर को event.preventDefault जोड़कर इस मुद्दे को ठीक करने में सक्षम था, लेकिन मैं बेहतर ढंग से समझना चाहता हूं कि वास्तव में क्या हुआ और यदि यह सही समाधान था। संदर्भ के लिए नीचे दिए गए कोड कुछ OAuth 2 कार्यक्षमता का परीक्षण करने के लिए एक साधारण घटक है। ऑनक्लिक हैंडलर केवल एक रिफ्लक्स क्रिया को ट्रिगर करते हैं। आप देखेंगे कि मैंने उन सभी को e.preventDefault() जोड़ा है। उस फिक्स के बिना, जब भी मैं उन कार्यों में से किसी एक को ट्रिगर करता हूं तो मेरा यूआरएल http://localhost:3000/#/signIn से http://localhost:3000/?#/signIn में बदल जाएगा। मैं प्रतिक्रिया-राउटर का भी उपयोग कर रहा हूं।प्रतिक्रिया पर क्लिक क्यों क्लिक करें मेरे यूआरएल पर एक प्रश्न चिह्न संलग्न करें?
// 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