⊗jsrtPmCpPr 81 of 112 menu

พร็อพของคอมโพเนนต์ใน React

ในบทเรียนที่ผ่านมา เราได้แสดงอินสแตนซ์ของสินค้าออกมาหลายรายการ:

function App() { return <div> <Product /> <Product /> <Product /> </div>; }

ในตอนนี้ การเรียกใช้แท็กสินค้าแต่ละครั้งจะแสดงผลเหมือนกันทั้งหมด มาทำให้สินค้าแต่ละชิ้นมีลักษณะเฉพาะกันดีกว่า

ตัวอย่างเช่น ให้สินค้าแต่ละชิ้นมีชื่อและราคา เราจะทำให้การเรียกใช้แท็กสินค้าแต่ละครั้งแสดงสินค้าที่มีชื่อและราคาของตัวเอง โดยจัดแต่งเป็น markup ตามที่เราต้องการ

เพื่อทำสิ่งนี้ เราจำเป็นต้องทำตามขั้นตอนหลายประการ

ขั้นแรก เมื่อเรียกใช้แท็กสินค้า เราจะเขียนแอตทริบิวต์สองตัวลงในแท็กนี้: แอตทริบิวต์ name สำหรับชื่อสินค้า และแอตทริบิวต์ cost สำหรับราคา ดังนี้:

function App() { return <div> <Product name="product1" cost="100" /> <Product name="product2" cost="200" /> <Product name="product3" cost="300" /> </div>; }

ชื่อและค่าของแอตทริบิวต์เหล่านี้จะถูกส่งเข้ามาในรูปแบบของอ็อบเจกต์ในพารามิเตอร์แรกของฟังก์ชันคอนสตรักเตอร์ของคอมโพเนนต์ Product ของเรา:

function Product(props) { console.log(props); // อ็อบเจกต์ที่มีคีย์ name และ cost return <p> product </p>; }

ชื่อพารามิเตอร์สามารถตั้งชื่ออะไรก็ได้ แต่ใน React นิยมเรียกชื่อว่า props อันที่จริงแล้วนี่ไม่ใช่แค่ชื่อพารามิเตอร์ แต่เป็นแนวคิดที่สำคัญของ React

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

มาทำกันเลย:

function Product(props) { return <p> name: <span>{props.name}</span>, cost: <span>{props.cost}</span> </p>; }

วิธีที่สะดวกกว่าและเป็นที่ยอมรับมากกว่าคือ ไม่ต้องใช้อ็อบเจกต์ props โดยตรง แต่ให้ทำการ destructuring พร็อพในพารามิเตอร์ของฟังก์ชันเลย:

function Product({ name, cost }) { return <p> name: <span>{name}</span>, cost: <span>{cost}</span> </p>; }

สร้างคอมโพเนนต์ Employee ที่แสดงข้อมูลพนักงานบนหน้าจอ ให้ข้อมูลเหล่านี้ประกอบด้วย นามสกุล, ชื่อ, ชื่อกลาง และเงินเดือน จัดรูปแบบข้อมูลเหล่านี้เป็น markup ตามที่คุณต้องการ แสดงผลพนักงานสามคนที่มีข้อมูลแตกต่างกันในคอมโพเนนต์ App

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ