ให้เรตสมาชิก: 4 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งาน
 

Function และ Class Components

     Component คือ UI ที่เราแบ่งมันออกเป็นส่วนๆ มีข้อดีในเรื่องของการ แก้ไขโค้ดเฉพาะจุด เวลาใช้งานจะใช้คำสั่งเรียกแต่ละ Component มารวมกันใน Page เดียว

     วิธีง่ายๆ ในการ กำหนด Component คือการเขียนฟังก์ชั่น JavaScript :

function Welcome(props) {
  return <h1>Hello, {props.name}</h1>;
}

      ถ้าเขียนแบบ ES6 จะได้หน้าตาแบบนี้ :

class Welcome extends React.Component {
  render() {
    return <h1>Hello, {this.props.name}</h1>;
  }
}

 

การแสดงผลของ Component และ Props

     ก่อนหน้านี้เราได้ พูดถึง Element ของ DOM ซึ่งมีหน้าตาแบบนี้ :

const element = <div />;

     และ Elements ก็สามารถแสดงค่าตามที่เรากำหนดได้เช่นกัน :

const element = <Welcome name="Mindphp" />;

    

     เมื่อ Element ที่เป็นตัวแทนของ Component จะส่งค่าผ่าน Attibute JSX ไปอีก Component หนึ่ง จะต้องมีตัวแปรหนึ่งที่มากรับค่ามันไว้ เราเรียนตัวแปรนี้ว่า Props         

     Example โค้ดนี้จะแสดงค่า "Hello, Mindphp" :

function Welcome(props) {
  return <h1>Hello, {props.name}</h1>;
}

const element = <Welcome name="Mindphp" />;
ReactDOM.render(
  element,
  document.getElementById('root')
);

สรุปจากตัวอย่าง

  • เราเรียก ReactDOM.render() ด้วย Element <Welcome name="Mindphp" />

  • มีการตอบสนองการเรียก Component Welcome ด้วย Props {name: 'Mindphp'}

  • Component Welcome จะแสดง Element <h1>Hello, Mindphp</h1> ออกมาเป็นผลลัพธ์

 

อ้างอิงข้อมูล : https://reactjs.org

 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
เทคนิคการ Contrast สำหรับงาน Graphic
โดย numtan5839 จ 11 พ.ย. 2019 6:57 pm บอร์ด Graphic design
0
6
จ 11 พ.ย. 2019 6:57 pm โดย numtan5839
การใช้ .attr() jquery
โดย bankjittapol จ 11 พ.ย. 2019 6:47 pm บอร์ด Jquery & Ajax Knowledge
0
3
จ 11 พ.ย. 2019 6:47 pm โดย bankjittapol
การเดินทางจากจังหวัดศรีสะเกษมากรุงเทพมหานคร
โดย chaiyasitpraphut จ 11 พ.ย. 2019 5:50 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
18
จ 11 พ.ย. 2019 5:50 pm โดย chaiyasitpraphut
จะทำอย่างไรไม่ให้ Xampp รัน PHP สองเวอร์ชั่น เวอร์ชั่น 7 start ขึ้นมาตอนกด start Xampp เวอร์ชั่น 5 ครับ
โดย jamepiyawat จ 11 พ.ย. 2019 5:16 pm บอร์ด Programming - PHP
2
17
จ 11 พ.ย. 2019 6:29 pm โดย jamepiyawat
Email Client คืออะไร
โดย chatee supasand จ 11 พ.ย. 2019 4:54 pm บอร์ด Share Knowledge
0
8
จ 11 พ.ย. 2019 4:54 pm โดย chatee supasand
เเชร์ความรู้ การใช้ Java script ในการลบ และเลือกใช้ข้อมูล
โดย chaiyasitpraphut จ 11 พ.ย. 2019 4:49 pm บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
0
13
จ 11 พ.ย. 2019 4:49 pm โดย chaiyasitpraphut
ประโยชน์และการนำค่าเฉลี่ยเคลื่อนที่ไปใช้งาน
โดย numtan5839 จ 11 พ.ย. 2019 2:54 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
9
จ 11 พ.ย. 2019 2:54 pm โดย numtan5839
ค่าเฉลี่ยเคลื่อนที่ (Moving Average)
โดย numtan5839 จ 11 พ.ย. 2019 11:57 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
8
จ 11 พ.ย. 2019 11:57 am โดย numtan5839
Note
โดย chaiyasitpraphut จ 11 พ.ย. 2019 11:26 am บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
0
2
จ 11 พ.ย. 2019 11:26 am โดย chaiyasitpraphut
ต้องการให้ค่า transform เก็บไว้ในตัวแปร เพื่อเก็บในฐานข้อมูล
โดย bankjittapol จ 11 พ.ย. 2019 11:17 am บอร์ด Programming - PHP
2
18
จ 11 พ.ย. 2019 12:37 pm โดย bankjittapol
การใช้ฟังก์ชัน SQRT ใน Excel
โดย numtan5839 จ 11 พ.ย. 2019 11:06 am บอร์ด Microsoft Office Knowledge & line & Etc
0
7
จ 11 พ.ย. 2019 11:06 am โดย numtan5839
งานประจำวันที่ 11 พฤศจิกายน 2562
โดย chaiyasitpraphut จ 11 พ.ย. 2019 10:39 am บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
3
43
จ 11 พ.ย. 2019 6:05 pm โดย chaiyasitpraphut
Work's on Hand ชัยยะสิทธิ์ พระพุทธ MT35
โดย chaiyasitpraphut จ 11 พ.ย. 2019 10:46 am บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
0
13
จ 11 พ.ย. 2019 10:46 am โดย chaiyasitpraphut
list ความรู้ที่มี ว่าเคยเรียน หรือ เคยทำอะไรมาบ้าง
โดย chaiyasitpraphut จ 11 พ.ย. 2019 10:44 am บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
0
28
จ 11 พ.ย. 2019 10:44 am โดย chaiyasitpraphut
งานประจำวันที่ 11 พฤศจิกายน 2562
โดย numtan5839 จ 11 พ.ย. 2019 10:08 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
5
18
จ 11 พ.ย. 2019 7:05 pm โดย numtan5839
คู่เงินยอดนิยมใน Forex สำหรับเทรดเดอร์มือใหม่
โดย numtan5839 ส 09 พ.ย. 2019 5:40 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
54
ส 09 พ.ย. 2019 5:40 pm โดย numtan5839
จะทำอย่างไรให้ php เป็นเวอร์ชั่น 5 ครับ
โดย jamepiyawat ส 09 พ.ย. 2019 5:13 pm บอร์ด Programming - PHP
0
11
ส 09 พ.ย. 2019 5:13 pm โดย jamepiyawat
ฝากเงินเข้าบัญชีกับไปรษณีย์ไทย ด้วยบริการ Bank@post
โดย numtan5839 ส 09 พ.ย. 2019 4:26 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
32
ส 09 พ.ย. 2019 4:26 pm โดย numtan5839
ติดตั้ง joomla เวอร์ชั่น 2.5.28 ไม่ได้ครับ
โดย jamepiyawat ส 09 พ.ย. 2019 2:44 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
1
19
ส 09 พ.ย. 2019 3:39 pm โดย mindphp
ช่วยแนะนำ เกี่ยวกับ javascript library ที่ใช้ทำ รุปภาพให้หน่อยครับ
โดย bankjittapol ส 09 พ.ย. 2019 11:54 am บอร์ด JavaScript & Jquery Ajax
3
43
จ 11 พ.ย. 2019 2:54 pm โดย tsukasaz