Dlaczego tak
Stan komponentu funkcyjnego zmienia się wyłącznie funkcją zwróconą przez useState — wywołanie setLicznik zapisuje nową wartość i powoduje ponowne wyrenderowanie komponentu. Zmienna licznik jest stałą (const), więc licznik++ i przypisanie zgłoszą błąd, a nawet zmiana zwykłej zmiennej nie odświeżyłaby widoku. Hooka useState nie wolno wywoływać w obsłudze zdarzenia — służy do deklarowania stanu.