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

ในบทเรียนที่แล้ว เราเขียนออบเจ็กต์โดยตรงใน แอตทริบิวต์ style เรายังสามารถ ใช้การแทรกข้อมูลลงในออบเจ็กต์นี้ จากตัวแปรได้ด้วย

ลองเอา React component ของเรา ที่ไม่มีสไตล์ CSS มาดู:

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

ตอนนี้เราจะสร้างตัวแปรและ กำหนดค่าคุณสมบัติ CSS ให้กับพวกมัน มาเริ่มตามลำดับจากสไตล์สำหรับ div กันก่อน

ในไฟล์ component ก่อนคำสั่ง return เรามาสร้างตัวแปรชื่อ wd1 และกำหนดค่าให้มันเป็น '200px':

App.jsconst wd1 = '200px';

ในลักษณะเดียวกัน เราจะสร้างตัวแปร สำหรับค่าทั้งหมดของคุณสมบัติของ div ของเรา:

App.jsconst wd1 = '200px';
const br1 = '2px solid brown';
const pd1 = '10px';
const ta1 = 'center';

ตอนนี้มาเพิ่มตัวแปรสำหรับ ย่อหน้าแรกกัน:

App.jsconst co1 = 'orangered';
const fw1 = 'bold';

สำหรับย่อหน้าที่สอง:

App.jsconst fs1 = 'italic';
const co2 = 'brown';

และสุดท้ายสำหรับอันสุดท้าย ที่นี่ ต้องการแค่สองตัว ไม่ใช่สาม ตัวแปร ไม่มีเหตุผลต้องทำซ้ำ เพราะว่าค่า bold นั้นเรา มีอยู่แล้วสำหรับย่อหน้าแรก:

App.jsconst bco1 = 'orange';
const co3 = 'white';

และตอนนี้เราจะแทนที่ตัวแปร ที่มีค่าสไตล์ต่างๆ ลงไป เริ่มต้น ทำสำหรับย่อหน้าแรกกันก่อน เราแทรก ตัวแปร co1 และ fw1 แทนค่าต่างๆ ในออบเจ็กต์:

App.js<p style = {{ color: co1, fontWeight: fw1 }}>
  text
</p>

ในลักษณะเดียวกัน เราทำกับ แท็กที่เหลือ

ผลลัพธ์คือโค้ด component ของเรา จะมีลักษณะดังนี้:

App.jsfunction App() {
  const wd1 = '200px';
  const br1 = '2px solid brown';
  const pd1 = '10px';
  const ta1 = 'center';

  const co1 = 'orangered';
  const fw1 = 'bold';

  const fs1 = 'italic';
  const co2 = 'brown';
  
  const bco1 = 'orange';
  const co3 = 'white';

  return (
    <div style = {{
      width: wd1,
      border: br1,
      padding: pd1,
      textAlign: ta1 }}>
      <p style = {{ color: co1, fontWeight: fw1 }}>
        text
      </p>
      <p style = {{ fontStyle: fs1, color: co2 }}>
        text
      </p>
      <p style = {{ 
        backgroundColor: bco1,
        fontWeight: fw1,
        color: co3 }}>
        text
      </p>
    </div>
  );
}
Задание 1

ปรับเปลี่ยนโค้ดโจทย์ปัญหาจากบทเรียนที่แล้ว เพื่อให้ค่าของคุณสมบัติ CSS ถูกเก็บไว้ในตัวแปร