Javascript 为什么要向api发出百万请求
这里我有一个我无法解决的问题 我有条件地向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
if ( a != b ) {
// make here request to api
}
首先,我把我的条件放在afterrender()
中,然后人们告诉我不要在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并导致再次调用该条件。