一旦反应状态为空,触发一些 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()”方法。