В документации React по хукам(
https://ru.reactjs.org/docs/hooks-faq.html) нашёл такой приём работы с fetch()

Сказано, что флаг ignore позволяет "обрабатывать ответы, пришедшие не в порядке запросов, с помощью локальной переменной внутри эффекта", но я не совсем понимаю что это значит.
Я понимаю, например, зачем в массив зависимостей передается productId, но вроде же функция в return у useEffect - это аналог классового метода componentWillUnmount. Зачем оно здесь?