卸载时使用useEffect调度

时间:2020-04-07 09:20:44

标签: reactjs

我想在组件卸载时调度。我的调度:

 useEffect(() => {
      add({
        ...values,
      });
  }, [var]);
  
const add = payload => {
      dispatch({ type: 'ADD_S', payload })
      return dispatch({ type: 'UPDATE_S' })
 }
 
 //now i unmount
 
 useEffect(() => {
    return () => {
      add({}); //when unmount i want to send an emty data
    }
  }, []);

我的情况是,当我卸载组件时,我想发送add({});-空对象,但是无论如何它不起作用?为什么?

1 个答案:

答案 0 :(得分:0)

需要指出两个事实。

  • useEffect中返回一个函数时,此组件将下次更新时将触发该函数。要了解更多信息,请签出this(部分:清理效果)
  • 如果您在useEffect依赖项中添加一个空数组,该效果将只运行一次(您是否有意这样做?)

由于第二个效果仅触发一次,因此可能不是您期望的。