• Имя кастомного хука должно начинаться с use.
• Хук должен вызываться на верхнем уровне компонента.
• Кастомный хук должен содержать внутри себя вызов хотя бы одного хука из имеющихся в React или из других библиотек, предназначенных для React.
• Если кастомный хук возвращает функцию, то ее необходимо мемоизировать с помощью хука useCallback.
• Если хук подразумевает параметры, то они должны стать зависимостью в используемых в хуках React в теле кастомного хука.
Хук нельзя вызывать:
• в условии (if, case), цикле (for, while) или методах обработки списков (forEach, map);
• после выражения с условным рендерингом. Например, когда есть условие if, за которым следует инструкция return, содержащая вывод;
• в обработчиках события. Это частный случай первого пункта текущего списка;
• внутри функций, переданных в хуки useCallback, useMemo и useEffect;
• внутри блока try/catch/finally.
Разработка фронтенд-приложений
·
Антон Кузьмин