Понимание того, как подходить к стилю в React
Я новичок в изучении React. В качестве следующего этапа моего обучения мне нужно научиться стилизовать React. Исходя из предыдущего опыта, я должен предпринять следующие шаги для стилизации приложения React:
- Добавить Сброс CSS
- Внедрить грид-систему
- Реализуйте общие стили для таких элементов, как (кнопки, заголовки)
- Реализуйте определенные стили для каждого компонента
В мире React сложно найти хорошую отправную точку для решения вышеперечисленного, поэтому я бы с удовольствием посоветовал мне указать верное направление.
Являются ли стилевые компоненты самой популярной вещью в мире React на данный момент для всех 4 предметов, перечисленных выше? Если нет, то что вы посоветуете мне начать изучать, чтобы справиться с пунктами, упомянутыми выше.
Спасибо
1 ответ
Если вы начинаете с React, я бы не пошел с чем-то глубоким, как styled-components
без первого понимания проблемы styled-components
пытается исправить.
Ваш первый подход должен быть таким же простым, как просто добавить один или несколько <link>
с вашим .css
файлы (например, reset.css, grid.css, селекторы компонентов в нем и т. д.) и использовать соответствующие classNames
реквизит в ваших компонентах:
// main.css
body {
// ...
}
// MyToolbar.css
.MyToolbar {
// style for a MyToolbar react component
}
в вашем HTML:
<html>
<head>
<link rel="stylesheet" type="text/css" href="reset.css">
<link rel="stylesheet" type="text/css" href="main.css">
<link rel="stylesheet" type="text/css" href="grid.css">
<link rel="stylesheet" type="text/css" href="MyToolbar.css">
По мере роста вашего приложения вам будет трудно поддерживать это <head>
, так что вы бы выиграли от более модульного подхода.
Например, следующим шагом может быть импорт CSS из JavaScript вместо использования <link>
в вашем заголовке:
// App Component
import React from 'react';
// import globally used styles
import './styles/reset.css';
import './styles/main.css';
export default class App extends React.Component {
// snip
}
Чтобы импортировать файлы CSS в JavaScript, вам нужно использовать пакетный модуль, такой как веб-пакет, для обработки этих файлов. import
заявления. Начните читать здесь: https://webpack.js.org/guides/asset-management/. Таким образом, вам не нужно вручную вставлять файлы CSS в <head>
,
Фактически, вы сможете импортировать ваш CSS из ваших компонентов:
// MyToolbar.js component
import React from 'react';
import './styles/MyToolbar.css';
export default class MyToolbar extends React.Component {
render() {
// render your component here
}
}
Как только ваше приложение вырастет, вы можете поэкспериментировать с другими решениями, например, styled-компонентами.