ReactPytanie 03 z 28
What is the purpose of useContext?
Do czego służy
useContext?Najpierw odpowiedz na głos lub w myślach, potem porównaj.
Odpowiedź
Pozwala udostępnić dane komponentom głęboko w drzewie bez ręcznego przekazywania propsów przez każdy poziom.
Problem:
App
↓ user
Layout
↓ user
Page
↓ user
Header
↓ user
UserMenuTo prop drilling.
Context pozwala pominąć pośrednie komponenty.
Typowe zastosowania:
- theme,
- zalogowany użytkownik,
- language,
- permissions,
- konfiguracja.
I bardzo ważny praktyczny przykład: biblioteki też korzystają z Context API.
Material UI:
JSX
<ThemeProvider theme={theme}>
<App />
</ThemeProvider>Komponenty MUI niżej odczytują theme bez ręcznego przekazywania propsów.
React Hook Form:
JSX
<FormProvider {...methods}>
<Form />
</FormProvider>a później:
JavaScript
const methods =
useFormContext();To bardzo dobry przykład na rozmowie, bo pokazuje realne użycie Contextu w bibliotekach.
Jak poszło? Bądź szczery — „Jeszcze nie” dodaje pytanie do powtórki.