Всем здравствуйте! Я давно писал статью, и вот я здесь! Вы, должно быть, видели «Темный режим» в большинстве приложений в настоящее время. Некоторые приложения даже поддерживают полностью настраиваемую тему. Вы когда-нибудь задумывались, как работает тематика на ходу. Что ж, со стилизованными компонентами это довольно просто.

Стилизованные компоненты:

Styled-Components - это библиотека, которая с легкостью используется для стилизации ваших веб-приложений. Чтобы загрузить стилизованные компоненты, выполните: «npm install - save styled-components»

Давайте посмотрим на пример.

Допустим, вы хотите создать простой и многократно используемый компонент ‹Button /›, который можно использовать во всем приложении.

Эта переменная Button теперь является компонентом React, который вы можете использовать, как и любой другой компонент React! Вы можете стилизовать разные кнопки, то есть первичные и вторичные кнопки, а затем отображать их в любом месте, где захотите.

Прохладный! Теперь перейдем к тематике нашего веб-приложения.

Тематика:

Сохраните тему в одном месте. Всегда используйте центральное место для хранения информации, связанной с темой, например: Redux.

Половина работы уже сделана.

Провайдер темы

Styled-Components предлагает нам API под названием «поставщик тем».

Вспомогательный компонент для создания тем. Внедряет тему во все стилизованные компоненты в любом месте под ней в дереве компонентов через контекстный API.

Вот как это работает!

Здесь тема - это объект, который будет вставлен как тема во все интерполяции в стилизованных компонентах под поставщиком, к которым можно получить доступ через реквизиты, то есть this.props.theme.

Теперь, в соответствии со значением темы, предоставленным пользователем, мы изменим тему веб-приложения. Посмотрим как!

Теперь, если компонент подключен к Redux, мы можем получить тему из Redux и при изменении пользователем, он изменит состояние, и все приложение будет мгновенно повторно отрисовано с темной темой.

Для получения дополнительной информации о стилизованных компонентах и ​​поставщике тем ознакомьтесь с их официальной документацией.

Https://styled-components.com/

Https://styled-components.com/docs/api#themeprovider

Вот и все, ребята! Спасибо, что прочитали это!