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'));
},