การแทรกข้อมูลลงในแอตทริบิวต์ style จากออบเจ็กต์ใน React
สไตล์ CSS ให้กับองค์ประกอบยังสามารถเพิ่มได้
ผ่านแอตทริบิวต์ style.
ในบทเรียนนี้และอีกสองสามบทเรียนถัดไป เราจะ
พิจารณาวิธีการ การกำหนดสไตล์แบบอินไลน์
ตอนนี้เราจะไม่เชื่อมต่อไฟล์
styles.css แต่จะส่งค่าที่เกี่ยวข้อง
ไปยังแอตทริบิวต์ style ในรูปแบบของออบเจ็กต์
ที่มีสไตล์สำหรับแต่ละแท็ก ซึ่งเรา
จะเขียนลงในไฟล์คอมโพเนนต์โดยตรง
เอาล่ะ นำคอมโพเนนต์ของเราโดยไม่มีสไตล์ CSS ที่เราทำในบทเรียนที่แล้ว:
function App() {
return (
<div>
<p>text</p>
<p>text</p>
<p>text</p>
</div>
);
}
มาเริ่มกันที่ในไฟล์ App.js ก่อน
คำสั่ง return ให้สร้างออบเจ็กต์
ที่มีสไตล์ CSS สำหรับ div ในตัวแปร
class1 จำไว้ว่าชื่อของคุณสมบัติ
ที่นี่เขียนในรูปแบบ
camelCase
และค่าของคุณสมบัติต้อง
ใส่ในเครื่องหมายคำพูด:
const class1 = {
width: '200px',
border: '2px solid brown',
padding: '10px',
textAlign: 'center'
};
ตอนนี้เพิ่มออบเจ็กต์ class2 ที่มี
สไตล์สำหรับย่อหน้าแรก:
const class2 = {
color: 'orangered',
fontWeight: 'bold'
}
ออบเจ็กต์ class3 ที่มี
สไตล์สำหรับย่อหน้าที่สอง:
const class3 = {
fontStyle: 'italic',
color: 'brown',
}
และสุดท้าย class4 สำหรับ
อันสุดท้าย:
const class4 = {
backgroundColor: 'orange',
fontWeight: 'bold',
color: 'white',
}
ตอนนี้ เพื่อนำ CSS class ไปใช้ในคอมโพเนนต์
ให้ใช้แอตทริบิวต์
style สำหรับย่อหน้าแรก
เรามีตัวแปร class2
ส่งมันเป็นค่า:
<p style={class2}>text</p>
ในทำนองเดียวกัน เพิ่มสไตล์จาก ออบเจ็กต์สำหรับแท็กที่เหลือ
ผลลัพธ์ รหัสคอมโพเนนต์จะ มีลักษณะดังนี้:
function App() {
const 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',
};
return (
<div style={class1}>
<p style={class2}>text</p>
<p style={class3}>text</p>
<p style={class4}>text</p>
</div>
);
}
นำ React component ที่คุณ
ทำในแบบฝึกหัดของบทเรียนที่แล้ว
สร้างออบเจ็กต์ที่มีสไตล์ CSS สำหรับ
แท็กของคุณ กำหนดค่าใน
แอตทริบิวต์ style ที่เกี่ยวข้อง