Поясніть правила хуків. Чому не можна викликати хуки всередині умов?
Хуки мають викликатися на верхньому рівні компонента або кастомного хука і в однаковому порядку на кожному рендері. React зберігає стан хуків у масиві, індексованому порядком виклику, тому умовний хук зсуває всі наступні індекси, і компонент починає читати стан чужого хука. Саме тому існує правило лінтера — падіння тут тихе і вкрай заплутане.