Co to jest domknięcie, czyli closure?
Najpierw odpowiedz na głos lub w myślach, potem porównaj.
Odpowiedź
Domknięcie oznacza, że funkcja zachowuje dostęp do zmiennych z otoczenia, w którym została utworzona. Może korzystać z nich również później, kiedy pierwotna funkcja już skończyła pracę.
Na przykład funkcja tworząca licznik może zwrócić funkcję increment, która nadal ma dostęp do własnej zmiennej count. To przydaje się do ukrywania stanu. W React warto pamiętać, że funkcja utworzona w konkretnym renderowaniu korzysta z wartości z tego renderowania. Stąd timer potrafi „pamiętać” dawny stan, mimo że na ekranie widać już nowszy.
Dlaczego to ważne: Wyjaśnia wiele problemów z callbackami, timerami i hookami.
Możliwe dopytania: Dlaczego callback z pierwszego renderowania może widzieć stary stan?
Jak poszło? Bądź szczery — „Jeszcze nie” dodaje pytanie do powtórki.
Powiązane pytania
- What is closure? — JavaScript
Dalsza lektura
- MDN: Closures(otwiera się w nowej karcie)Dostęp 22.10.2026. Domknięcia i dostęp funkcji do otoczenia.