首页 > 解决方案 > 如何在 React 类中停止重复的 Ajax 调用?

问题描述

我继承了一个旧版本的 React,它的开头是这样的:

var rc = React.createClass({

 render() {

      // Ajax code, here, is called repeatedly for some reason

      return {
           ...
      }
 }
})

我被这个旧代码架构困住了,我无法导入 React 组件。我尝试使用 jQuery 对服务器端进行 Ajax 调用,并在控制台中看到了预期的结果。我曾尝试使用 React 进行 Ajax 调用,但没有返回任何结果,可能是由于缺少 React 组件。这就是我转而使用 jQuery 的原因。

问题是,无论出于何种原因,Ajax 都被反复调用,不间断地,用于 React 和 jQuery 方法(Ajax 代码不在任何循环内)。当我使用最新版本的 React 时,我在家里没有这个 Ajax 重复问题。在工作中,我不得不使用以前的开发人员实现的上述代码。考虑到我所在的上述代码架构,如何阻止 Ajax 进行重复调用?我只需要进行一次 Ajax 调用。任何的想法 ?谢谢!

标签: reactjsajaxrepeat

解决方案


您可能在渲染中或从API获取数据后进行状态更新。以下是可能对您有所帮助的内容。

  var rc = React.createClass({

componentDidMount(){
          // Write AJAX Code here
          }

     render() {
          //Avoid any state update here
          return {
               ...
          }
        }
    })

推荐阅读