Vkládání dat do atributu style z samostatného souboru v Reactu

Nemusíme psát objekty se styly v souboru s komponentou, jako v předchozí lekci, ale můžeme vytvořit samostatný soubor s našimi objekty stylů a importovat je do požadované komponenty.

Vezměme tedy naši komponentu bez CSS stylů:

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

Vytvořme ve složce src samostatný soubor styles.js, ve kterém napíšeme naše objekty se styly:

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',
};

Nezapomeňme dole v souboru styles.js exportovat naše objekty jako jeden objekt styles:

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

Nyní importujme objekt styles do naší komponenty:

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

Nyní můžeme aplikovat požadovaný objekt s CSS styly z obecného objektu styles na naše tagy. Aplikujme na první odstavec styly z objektu class2:

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

Podobným způsobem přidáme styly z objektů zbývajícím tagům.

Výsledný kód komponenty bude vypadat následovně:

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

Vezměte React komponentu, kterou jste dělali v úloze k předchozí lekci. Vytvořte samostatný soubor styles.js, ve kterém budou objekty CSS stylů pro vaše tagy, exportujte je jako jeden objekt, aplikujte styly na vaši React komponentu.