การแทรกข้อมูลลงในแอตทริบิวต์ style จากไฟล์แยกใน React

เราไม่จำเป็นต้องเขียนอ็อบเจ็กต์สไตล์ ในไฟล์คอมโพเนนต์เหมือนในบทเรียนที่ ผ่านมา แต่สามารถสร้างไฟล์แยกสำหรับ อ็อบเจ็กต์สไตล์ของเราและนำเข้า ไปยังคอมโพเนนต์ที่ต้องการได้

เอาล่ะ ลองนำคอมโพเนนต์ของเรา ที่ยังไม่มี CSS สไตล์:

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

มาสร้างไฟล์แยกชื่อ styles.js ในโฟลเดอร์ src และเขียนอ็อบเจ็กต์สไตล์ของเราลงไป:

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 คอมโพเนนต์ของคุณ