# 1.	Jaki problem można rozwiązać za pomocą API kontekstu z Reacta?
API kontekstu pomaga zarządzać stanem współdzielonym przez komponenty. Pozwala uprościć ten proces i pomaga programistom uniknąć zjawiska prop drilling. Dlatego API kontekstu jest alternatywą do przenoszenia stanu wyżej.
# 2.	Jakie trzy podstawowe kroki trzeba wykonać w trakcie używania API kontekstu?
Trzeba utworzyć kontekst, udostępnić go (za pomocą komponentu Provider) i użyć za pomocą haczyka useReducer(). Gdy udostępniasz kontekst, trzeba skonfigurować wartość za pomocą propa value komponentu Provider.
# 3.	Kiedy haczyk useReducer() jest preferowany zamiast haczyka useState()?
Haczyk useReducer() może być lepszym wyborem niż useState(), gdy wartości stanu są złożone. Haczyk useReducer() jest przydatny przede wszystkim w sytuacji, gdy używasz głęboko zagnieżdżonych lub skomplikowanych obiektów. Pomaga też uniknąć zależności między różnymi wartościami stanu.
# 4.	Do czego służą operacje w trakcie pracy z haczykiem useReducer()?
Operacja są zgłaszane, aby poinformować funkcję redukującą, co należy zrobić. Gdy używasz funkcji do zgłaszania operacji (na przykład funkcji o nazwie dispatch), dane na temat tej operacji są przekazywane jako pierwszy i jedyny argument. Te dane mogą mieć dowolną postać, jednak zwykle używany jest obiekt.
Dzięki zastosowaniu w tym obiekcie właściwości type (lub właściwości o podobnej nazwie) możesz kontrolować działanie funkcji redukującej. Można też przekazać dodatkowe dane.
