Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么要向api发出百万请求_Javascript_Reactjs - Fatal编程技术网

Javascript 为什么要向api发出百万请求

Javascript 为什么要向api发出百万请求,javascript,reactjs,Javascript,Reactjs,这里我有一个我无法解决的问题 我有条件地向api发出请求,如: if ( a != b ) { // make here request to api } 首先,我把我的条件放在afterrender()中,然后人们告诉我不要在after-render中使用这些东西 所以我读到它需要放入组件willreceiveprops方法 我就是这样做的 componentWillReceiveProps(nextProps) { if (nextProps.loading != this.pr

这里我有一个我无法解决的问题

我有条件地向api发出请求,如:

if ( a != b ) {
   // make here request to api
}
首先,我把我的条件放在after
render()
中,然后人们告诉我不要在after-render中使用这些东西

所以我读到它需要放入
组件willreceiveprops
方法

我就是这样做的

componentWillReceiveProps(nextProps) {
  if (nextProps.loading != this.props.loading) {
     // make here request to api. 
  }
}
这里是我的加载状态默认值false。当单击按钮时,我将其设置为,当请求成功时,我将其设置为

因此,我的请求随时停止工作。它们只在加载状态发生变化时才工作,但再次发生百万次变化


我不知道这是什么。以及如何阻止它。

我们无法帮助您处理无法看到的代码。请使用runnable更新您的问题,并使用堆栈片段演示问题(使用
[]
工具栏按钮)。堆栈代码段支持React,包括JSX。使用
setTimeout
或类似方法模拟API调用。为此,请使用
componentDidUpdate()
。基本上,我可以推迟的是,在您的
组件WillReceiveProps
中,您有一个API请求,我假设您正在使用setState将其设置在某个地方,这将重新提交dom并导致再次调用该条件。我们无法帮助您处理无法看到的代码。请使用runnable更新您的问题,并使用堆栈片段演示问题(使用
[]
工具栏按钮)。堆栈代码段支持React,包括JSX。使用
setTimeout
或类似方法模拟API调用。为此,请使用
componentDidUpdate()
。基本上,我可以推迟的是,在您的
组件WillReceiveProps
中,您有一个API请求,我假设您正在使用setState将其设置在某个地方,这将重新提交dom并导致再次调用该条件。