reactjs - 如何在 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 调用。任何的想法 ?谢谢!
解决方案
您可能在渲染中或从API获取数据后进行状态更新。以下是可能对您有所帮助的内容。
var rc = React.createClass({
componentDidMount(){
// Write AJAX Code here
}
render() {
//Avoid any state update here
return {
...
}
}
})
推荐阅读
- python - Microsoft Graph API:我卡在授权工作流中
- angularjs - 使用 AngularJS 和 Spring MVC 上传文件和表单数据
- html - 将元素对齐到垂直中心(中间),但当高于容器时滚动(从元素顶部)
- python - 如何根据另一列的滚动总和获取列值?
- react-native - Android onNotification 从未在 react-native-push-notification 中调用
- android - facebook Graph更新,修改android应用端?
- google-chrome - 浏览器如何编译源代码?
- php - 如何在表格下方打印表格结果
- javascript - jQuery-如何知道动态内容/标签是否已完全加载
- dart - 在 TextSpan 中测试文本