Когда возврат в useEffect получил выполнить? - PullRequest
0 голосов
/ 18 марта 2020

У меня есть следующий псевдокод

const handleUploadValidateResult = useCallback(e => {
    if (everything good) {
      do something
    } else {
      do something else
    }
  }, []);

useEffect(() => {
    const eventName = `${context}_${type}_${index}`;
    window.addEventListener(eventName, e => {
      handleUploadValidateResult(e);
    });

    return () => {
      window.removeEventListener(eventName, e => {
        handleUploadValidateResult(e);
      });
    };

  }, [type, index]);

Каков порядок выполнения для оператора возврата

return () => {
...
}

Когда type or index было изменено, выполняется оператор возврата

  1. перед использованиемEffect? ​​

  2. или после использования Effect? ​​

1 Ответ

0 голосов
/ 18 марта 2020

Ваш useEffect вызван после type или index изменений. return функция вызывается перед размонтированием компонента.

...