Вмъкване на данни в атрибута style от отделен файл в React

Можем да не пишем обекти със стилове във файла с компонента, както в предишния урок, а да създадем отделен файл с нашите обекти със стилове и да ги импортираме в желания компонент.

И така, нека вземем нашия компонент без CSS стилове:

App.jsfunction App() {
  return (
    <div>
      <p>text</p>
      <p>text</p>
      <p>text</p>
    </div>
  );
}

Нека създадем в папката src отделен файл styles.js, в който да напишем нашите обекти със стилове:

styles.jsconst class1 = {
  width: '200px',
  border: '2px solid brown',
  padding: '10px',
  textAlign: 'center',
};

const class2 = {
  color: 'orangered',
  fontWeight: 'bold',
};

const class3 = {
  fontStyle: 'italic',
  color: 'brown',
};

const class4 = {
  backgroundColor: 'orange',
  fontWeight: 'bold',
  color: 'white',
};

Нека не забравяме в долната част на файла styles.js да експортираме нашите обекти като един обект styles:

styles.jsexport const styles = {
  class1: class1,
  class2: class2,
  class3: class3,
  class4: class4
};

Сега нека импортираме обекта styles в нашия компонент:

App.jsimport { styles } from "./styles";       

Сега можем да прилагаме желания от нас обект с CSS стилове от общия обект styles към нашите тагове. Нека приложим към първия параграф стилове от обекта class2:

App.js<p style={styles.class2}>text</p>

По подобен начин ще добавим стилове от обектите към останалите тагове.

В резултат, кодът на компонента ще изглежда по следния начин:

App.jsfunction App() {
  return (
    <div style={styles.class1}>
      <p style={styles.class2}>text</p>
      <p style={styles.class3}>text</p>
      <p style={styles.class4}>text</p>
    </div>
  );
}  
Задание 1

Вземете React компонента, който направихте в задачата към предишния урок. Създайте отделен файл styles.js, в който да има обекти с CSS стилове за вашите тагове, експортирайте ги като един обект, приложете стиловете към вашия React компонент.