Javascript 如何从一个组件和另一个组件中清除间隔函数?
父组件Javascript 如何从一个组件和另一个组件中清除间隔函数?,javascript,reactjs,Javascript,Reactjs,父组件 handleSubmitValidateInput: function(e){ e.preventDefault(); var data = {phone: this._phone.value, pwd: this._pwd.value} $.ajax({ type: 'POST', data:data, url: 'http://localhost:3000/login', success: fun
handleSubmitValidateInput: function(e){
e.preventDefault();
var data = {phone: this._phone.value, pwd: this._pwd.value}
$.ajax({
type: 'POST',
data:data,
url: 'http://localhost:3000/login',
success: function(data){
ReactDOM.render(<Home UserDetails={data}/>, document.getElementById('content'));
var idleTime = 0;
var interval = setInterval(function(){
// some code
});
}, (1000));
},
error: function(error){
console.log('Error login!!');
}
});
},
尝试使用
窗口
对象,而不是使用局部变量
window.interval = setInterval(function(){
// some code
});
然后您可以从注销功能中清除它
handleLogout: function(e){
e.preventDefault();
clearTimeout(window.timeout);
console.log('Cleared');
localStorage.clear();
ReactDOM.render(<Login />, document.getElementById('content'));
},
handleLogout: function(e){
e.preventDefault();
clearTimeout(window.timeout);
console.log('Cleared');
localStorage.clear();
ReactDOM.render(<Login />, document.getElementById('content'));
},