Установите зависимости:
npm install
В файле src/App.tsx
в компоненте <App>
есть кнопка, переключающая тему и компонент <List>
. Компонент <List>
принимает в себя проп theme: 'light' | 'dark'
. Список передает тему в каждый из компонентов <ListItem>
, которые используют этот проп для выбора класса.
В файле src/Context.tsx
реализуйте следующее:
- Компонент
ThemeProvider
, который будет принимать пропtheme: 'light' | 'dark'
и распространять его вниз через контекст. - Хук
useTheme
, который будет получать тему из контекста.
Затем, вернитесь в файл src/App.tsx
и замените передачу пропсов на использоване контекста.
Используйте команду npm run start
, чтобы в вашем браузере открылась страница, на которой можно проверить работу вашего компонента.
Тажке, проверить себя можно запустив команду npm run test
.
После выполнения задания создайте pull request с решением.