Как использовать CSS для стилизации приложения React
Используя React, у вас есть разные способы добавить стили к вашим компонентам.
Использование классов и CSS
Первый и самый простой - использовать классы и использовать обычный файл CSS для нацеливания на эти классы:
const Button = () => {
return <button className="button">A button</button>
}
.button {
background-color: yellow;
}
Вы можете импортировать таблицу стилей с помощью оператора импорта, например:
import './style.css'
иWebpackпозаботится о добавлении свойства CSS в пакет.
Использование атрибута стиля
Второй метод - использоватьstyle
атрибут, прикрепленный к элементу JSX. При таком подходе вам не нужен отдельный файл CSS.
const Button = () => {
return <button style={{ backgroundColor: 'yellow' }}>A button</button>
}
CSS теперь определяется немного по-другому. Во-первых, обратите внимание на двойные фигурные скобки: это потому, чтоstyle
принимает объект. Мы передаем объект JavaScript, который определен в фигурных скобках. Мы также можем сделать это:
const buttonStyle = { backgroundColor: 'yellow' }
const Button = () => {
return <button style={buttonStyle}>A button</button>
}
Когда используешьcreate-react-app
, эти стили имеют автоматические префиксы по умолчанию благодаря использованиюАвтоприставка.
Кроме того, теперь стиль имеет camelCased вместо тире. Каждый раз, когда свойство CSS имеет тире, удалите его и начинайте следующее слово с заглавной буквы.
Преимущество стилей заключается в том, что они являются локальными по отношению к компоненту, и они не могут проникать в другие компоненты в других частях приложения, чего не может обеспечить использование классов и внешнего файла CSS.
Использование модулей CSS
Модули CSSкажется идеальным местом посередине: вы используете классы, но CSS привязан к компоненту, а это означает, что любой добавленный вами стиль не может быть применен к другим компонентам без вашего разрешения. И все же ваши стили определены в отдельном файле CSS, который легче поддерживать, чем CSS в JavaScript (и вы можете использовать свои старые добрые имена свойств CSS).
Начните с создания файла CSS, который заканчивается на.module.css
, НапримерButton.module.css
. Отличный выбор - дать ему то же имя, что и компонент, который вы собираетесь стилизовать.
Добавьте сюда свой CSS, а затем импортируйте его в файл компонента, который хотите стилизовать:
import style from './Button.module.css'
теперь вы можете использовать его в своем JSX:
const Button = () => {
return <button className={style.content}>A button</button>
}
Вот и все! В результирующей разметке React сгенерирует конкретный уникальный класс для каждого визуализированного компонента и назначит CSS этому классу, чтобы CSS не влиял на другую разметку.
Скачать мою бесплатнуюСправочник по React
Больше руководств по реакции:
- Пример простого приложения React: получение информации о пользователях GitHub через API
- Создайте простой счетчик с помощью React
- Настройка VS Code для разработки на React
- Как передать реквизиты дочернему компоненту через React Router
- Создайте приложение с Electron и React
- Учебник: создание электронной таблицы с помощью React
- Дорожная карта для изучения React
- Узнайте, как использовать Redux
- Начало работы с JSX
- Стилизованные компоненты
- Введение в Redux Saga
- Введение в React Router
- Введение в React
- Компоненты React
- Виртуальный DOM
- Реагировать на события
- Состояние реакции
- React Props
- Фрагмент реакции
- API контекста React
- React PropTypes
- Концепции React: декларативный
- Реагировать: как показать другой компонент при нажатии
- Как зацикливаться внутри React JSX
- Props vs State в React
- Что лучше: jQuery или React?
- Сколько JavaScript вам нужно знать, чтобы использовать React?
- Введение в Гэтсби
- Как сослаться на элемент DOM в React
- Однонаправленный поток данных в React
- Реагировать на компоненты более высокого порядка
- Реагировать на события жизненного цикла
- Концепция React: неизменность
- Концепция React: чистота
- Введение в React Hooks
- Введение в приложение create-react-app
- Концепция React: композиция
- React: презентационные и контейнерные компоненты
- Разделение кода в React
- Рендеринг на стороне сервера с помощью React
- Как установить React
- CSS в React
- Использование SASS в React
- Обработка форм в React
- React StrictMode
- Реагировать на порталы
- React Render Props
- Тестирование компонентов React
- Как передать параметр обработчикам событий в React
- Как обрабатывать ошибки в React
- Как вернуть несколько элементов в JSX
- Условный рендеринг в React
- React, как передать props дочерним компонентам
- Как получить значение элемента ввода в React
- Как использовать хук useState React
- Как использовать хук useCallback React
- Как использовать хук useEffect React
- Как использовать хук useMemo React
- Как использовать хук useRef React
- Как использовать хук useContext React
- Как использовать хук useReducer React
- Как подключить приложение React к бэкэнду в том же источнике
- Учебное пособие по маршрутизатору Reach Router
- Как использовать инструменты разработчика React
- Как научиться React
- Как отлаживать приложение React
- Как отрендерить HTML в React
- Как исправить ошибку `dangerousSetInnerHTML` не соответствовало в React
- Как я исправил проблему с состоянием формы входа в React и автозаполнением браузера
- Как настроить HTTPS в приложении React на локальном хосте
- Как исправить ошибку "не удается обновить компонент при рендеринге другого компонента" в React
- Могу ли я использовать перехватчики React внутри условного оператора?
- Использование useState с объектом: как обновить
- Как перемещать блоки кода с помощью React и Tailwind
- React, сфокусируйте элемент в React при добавлении в DOM
- Реагировать, редактировать текст по двойному щелчку