Навіщо потрібна директива "use client"?
В App Router кожен компонент за замовчуванням серверний; "use client" позначає межу, з якої починається клієнтський бандл. Усе, що імпортується нижче цієї межі, надсилається в браузер, тому директива на початку лейауту випадково робить клієнтським усе піддерево. Без неї виклик useState або навішування onClick падає ще на збірці.