一旦反应状态为空,触发一些 API
Trigger some API once react state empty
我想在 react state 中的值为空时触发 An API 做一些动作,react state hook 中有没有办法实现这个?
你可以有一个 useEffect
挂钩状态作为依赖,in-which 你可以检查状态是否为空并采取相应行动。
示例:
const [state, setState] = useState([]);
useEffect(() => {
if (state.length !== 0) {
return;
}
// Can make your API call here (preferably call a function that does it)
// and then set the state.
setState(...);
}, [state]);
useEffect
是一个钩子,它接受一个回调作为第一个参数,一个依赖数组作为第二个参数。
只要数组中的任何依赖项发生变化,回调就会在 re-render 上执行。
- 注意:这仅与功能组件相关,对于 class-based 组件,我们有
componentDidUpdate
生命周期挂钩。
如果您使用的是功能组件,则可以使用具有适当依赖性的“useEffect”挂钩。
Class 您可能会选择基本组件(如果我正确理解您的情况),例如“componentWillUnmount()”方法。
我想在 react state 中的值为空时触发 An API 做一些动作,react state hook 中有没有办法实现这个?
你可以有一个 useEffect
挂钩状态作为依赖,in-which 你可以检查状态是否为空并采取相应行动。
示例:
const [state, setState] = useState([]);
useEffect(() => {
if (state.length !== 0) {
return;
}
// Can make your API call here (preferably call a function that does it)
// and then set the state.
setState(...);
}, [state]);
useEffect
是一个钩子,它接受一个回调作为第一个参数,一个依赖数组作为第二个参数。
只要数组中的任何依赖项发生变化,回调就会在 re-render 上执行。
- 注意:这仅与功能组件相关,对于 class-based 组件,我们有
componentDidUpdate
生命周期挂钩。
如果您使用的是功能组件,则可以使用具有适当依赖性的“useEffect”挂钩。 Class 您可能会选择基本组件(如果我正确理解您的情况),例如“componentWillUnmount()”方法。