Стилизованные компоненты - правильный подход

Я использую в своем проекте стилизованные компоненты.

Рассмотрим следующий фрагмент кода

import { Footer, FooterLeft, FooterRight, NavLink } from './footer_styles';

const FooterView = ({ prop }) => (
  <Footer className = "row">
    <FooterLeft>
      &copy;Sample company, LLC
    </FooterLeft>

    <FooterRight>
      <NavLink to = "#" className = "footer-link">Privacy Policy</NavLink>
      <span className = "separator"> | </span>
      <NavLink to = "#">Terms &amp; Conditions</NavLink>
    </FooterRight>
  </Footer>
);

Итак, у меня есть следующие вопросы.

1) Могу ли я использовать классы начальной загрузки в стилизованных компонентах, как показано в коде? Это правильный подход? Если нет, как использовать стили начальной загрузки вместе со стилизованными компонентами?

2) Нужно ли мне создавать компонент для каждого элемента в dom? Например, в показанном коде есть тег диапазона с именем класса "separator", для которого стили добавляются следующим образом.

export const FooterRight = styled.div`
  .separator {
    float: left;
  }
  .footer-link {
    margin-left: 0px;
  }

`;

Это правильный подход? или

Нужно ли мне создавать отдельный компонент для разделителя?

Я здесь немного запутался. Любая помощь будет оценена.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
525
1

Ответы 1

Вы можете использовать класс начальной загрузки для стилизации вашего компонента, в этом нет ничего плохого. Но лучше, если вы используете React Bootstrap, библиотеку, оптимизированную для React. Например, раскрывающаяся кнопка вы можете использовать класс начальной загрузки, потому что он будет использовать JQuery для выполнения анимации. Но вы не должны этого делать, потому что JQuery манипулирует реальной DOM, React манипулирует виртуальной DOM, поэтому это не очень хорошо для производительности.

Подробнее читайте здесь: https://reactjs.org/docs/integrating-with-other-libraries.html

Ответ по-прежнему да, с классом для стилизации компонента, следует использовать его для сокращения времени на кодирование, со всем, что связано с JQuery, просто используйте компонент React. Я предлагаю вам использовать responsestrap, очень похожий на Bootstrap: https://reactstrap.github.io

Другое дело, есть много способов стилизовать компонент, но я использую модуль CSS, просто нужно создать файл CSS с дополнительным модулем имени файла следующим образом:

styleComponent.css --> styleComponent.module.css

А затем импортируйте в свой проект:

import styles from './styleComponent.module.css'

А затем вы можете стилизовать свой компонент с помощью обычного css:

<div className = {styles.separator} >  Hello World </div>

В styleComponent.module.css:

.separator{
height: 20px;
background: black;
}
.separator:hover{
background: white;
}

Управлять вашим проектом проще, потому что каждый отдельный компонент имеет файл CSS, который идет с ним, а className является уникальным локально, Webpack автоматически преобразует className 'separator' в '2djfas_separator', что решит вашу проблему с именованием класса в CSS.

Надеюсь, это немного поможет вашему проекту !!!

Другие вопросы по теме