ความแตกต่างหลัก
ใน React คอมโพเนนต์คือชิ้นส่วนของโค้ดที่แสดงถึงส่วนหนึ่งของอินเทอร์เฟซผู้ใช้ มีส่วนประกอบหลักสองประเภทใน React: ส่วนประกอบของคลาสและส่วนประกอบที่ใช้งานได้
ส่วนประกอบของคลาสถูกกำหนดโดยใช้คลาสที่ขยายคลาส React.Component มีคุณลักษณะที่หลากหลายมากขึ้นและมีตัวเลือกมากขึ้นสำหรับการจัดการเหตุการณ์สถานะและวงจรชีวิต นี่คือลักษณะส่วนประกอบของคลาส:
class Welcome extends React.Component { render() { return <h1>Hello, {this.props.name}</h1>; }
}
ส่วนประกอบการทำงานเป็นเพียงฟังก์ชัน JavaScript ที่ส่งคืนองค์ประกอบการตอบสนอง ง่ายกว่าส่วนประกอบของคลาสและอ่านและเขียนได้ง่ายกว่า ต่อไปนี้คือส่วนประกอบเดียวกับด้านบน เขียนเป็นส่วนประกอบการทำงาน:
function Welcome(props) { return <h1>Hello, {props.name}</h1>;
}
จะใช้อะไรเมื่อไหร่
โดยทั่วไป คุณควรใช้คอมโพเนนต์การทำงาน เว้นแต่ว่าคุณต้องการใช้ฟีเจอร์ที่มีเฉพาะในคลาสคอมโพเนนต์ เช่น เมธอด state หรือ lifecycle
มีเพียงไม่กี่ เหตุผล ทำไมคุณอาจชอบ ใช้ส่วนประกอบของคลาสมากกว่าส่วนประกอบที่ใช้งานได้:
-
การอ่าน: ส่วนประกอบของคลาสสามารถทำให้เข้าใจโค้ดได้ง่ายขึ้น โดยเฉพาะถ้าคุณมีเมธอด state หรือ lifecycle จำนวนมาก รหัสถูกจัดระเบียบเป็นวิธีการที่กำหนดไว้อย่างชัดเจนและง่ายต่อการค้นหา
-
ความสามารถในเรอุส: ส่วนประกอบของคลาสสามารถนำกลับมาใช้ใหม่ได้ง่ายกว่า เนื่องจากสามารถขยายเพื่อสร้างส่วนประกอบใหม่ได้ ซึ่งจะเป็นประโยชน์อย่างยิ่งหากคุณมีฟังก์ชันที่ใช้ร่วมกันระหว่างคอมโพเนนต์จำนวนมาก
-
องค์กร: คลาสคอมโพเนนต์ช่วยให้การจัดระเบียบโค้ดของคุณง่ายขึ้น เนื่องจากคุณสามารถจัดกลุ่มเมธอดที่เกี่ยวข้องกันในคอมโพเนนต์เดียวกันได้ ซึ่งจะช่วยให้ค้นหาและดูแลโค้ดได้ง่ายขึ้น
นอกจากนี้ยังมีเหตุผลสองสามประการที่คุณอาจต้องการเลือกที่จะเขียน ส่วนประกอบที่ใช้งานได้:
-
เมื่อคุณไม่จำเป็นต้องใช้ state หรือ lifecycle method: หากคุณไม่ต้องการใช้ state หรือ lifecycle method คอมโพเนนต์ที่ใช้งานได้ก็เป็นตัวเลือกที่ดี เพราะอ่านและเขียนง่ายกว่าคอมโพเนนต์คลาส
-
เมื่อคุณต้องการส่วนประกอบที่บริสุทธิ์: ส่วนประกอบที่ใช้งานได้คือส่วนประกอบที่ "บริสุทธิ์" ซึ่งหมายความว่าส่วนประกอบเหล่านี้ขึ้นอยู่กับอุปกรณ์ประกอบฉากเท่านั้นและไม่มีสถานะเป็นของตนเอง สิ่งนี้มีประโยชน์หากคุณต้องการให้แน่ใจว่าส่วนประกอบแสดงผลซ้ำเมื่ออุปกรณ์ประกอบฉากเปลี่ยนเท่านั้น
-
เมื่อคุณต้องการเพิ่มประสิทธิภาพ: เนื่องจากส่วนประกอบการทำงานบริสุทธิ์ จึงสามารถปรับให้เหมาะสมได้ง่ายขึ้นโดย React ซึ่งอาจส่งผลให้ประสิทธิภาพดีขึ้น
-
เมื่อคุณต้องการเขียนโค้ดที่กระชับและอ่านง่าย: เนื่องจากส่วนประกอบที่ใช้งานได้ง่ายกว่าและมีชิ้นส่วนที่เคลื่อนไหวน้อยกว่า จึงสามารถอ่านและทำความเข้าใจได้ง่ายขึ้น โดยเฉพาะอย่างยิ่งหากคุณมีส่วนประกอบจำนวนมากในแอปพลิเคชันของคุณ
โดยทั่วไป คุณควรใช้ส่วนประกอบการทำงาน เว้นแต่ว่าคุณมีความต้องการเฉพาะที่สามารถตอบสนองได้ด้วยส่วนประกอบของคลาสเท่านั้น
useEffect & useState
อย่างไรก็ตาม สิ่งสำคัญคือต้องทราบว่าคุณสามารถใช้เมธอด state และ lifecycle ในคอมโพเนนต์การทำงานได้เช่นกัน โดยใช้ ใช้สถานะ และ ใช้เอฟเฟกต์ ตะขอ โดยทั่วไป คุณควรเลือกประเภทของส่วนประกอบที่เหมาะสมกับความต้องการของคุณมากที่สุด และนั่นจะทำให้โค้ดของคุณอ่านและเข้าใจได้ง่ายที่สุด
หากคุณยังต้องการใช้เหตุการณ์สถานะหรือวงจรชีวิต คุณจะมีความเป็นไปได้ที่จะใช้ hooks เพื่อเปิดใช้งานส่วนประกอบของคุณ
นี่คือวิธีที่คุณจะนำไปใช้ ใช้เอฟเฟกต์ และ ใช้สถานะ ภายในส่วนประกอบการทำงานของคุณ
import { useState, useEffect } from 'react'; function Example() { // Declare a new state variable, which we'll call "count" const [count, setCount] = useState(0); // Similar to componentDidMount and componentDidUpdate: useEffect(() => { // Update the document title using the browser API document.title = `Number of clicks: ${count}`; }); return ( <div> <p>Number of clicks: {count}</p> <button onClick={() => setCount(count + 1)}> Click me </button> </div> );
}
ที่นี่ เรามีคอมโพเนนต์ที่ติดตามการนับ และแสดงการนับปัจจุบันให้ผู้ใช้เห็น ส่วนประกอบใช้ ใช้สถานะ ขอเพิ่มสถานะให้กับองค์ประกอบการทำงานและ ใช้เอฟเฟกต์ hook เพื่อดำเนินการ (อัปเดตชื่อเอกสาร) เมื่อมีการเปลี่ยนแปลงการนับ
ประเด็นที่สำคัญ
สิ่งเหล่านี้เป็นประเด็นหลักในการเลือกระหว่างส่วนประกอบคลาสและส่วนประกอบการทำงานใน React:
- ส่วนประกอบของคลาสถูกกำหนดโดยใช้คลาสที่ขยายคลาส React.Component และมีตัวเลือกเพิ่มเติมสำหรับการจัดการสถานะและเหตุการณ์วงจรชีวิต
- คอมโพเนนต์ของฟังก์ชันเป็นเพียงฟังก์ชัน JavaScript ที่ส่งคืนองค์ประกอบ React และอ่านและเขียนได้ง่ายกว่าและง่ายกว่า
- คุณควรใช้คอมโพเนนต์การทำงาน เว้นแต่ว่าคุณต้องการใช้ฟีเจอร์ที่มีให้ใช้งานในคอมโพเนนต์ของคลาสเท่านั้น เช่น เมธอด state หรือ lifecycle
- คุณสามารถใช้ตะขอ useState และ useEffect เพื่อเพิ่มสถานะและแสดงผลข้างเคียงในส่วนประกอบการทำงาน
- โดยรวมแล้ว ตัวเลือกระหว่างคลาสคอมโพเนนต์และคอมโพเนนต์การทำงานขึ้นอยู่กับสิ่งที่ดีที่สุดสำหรับความต้องการของคุณ และสิ่งที่ทำให้โค้ดของคุณอ่านและเข้าใจได้ง่ายที่สุด
ฉันหวังว่าคำอธิบายสั้น ๆ นี้จะช่วยคุณได้ หากคุณต้องการคำปรึกษาหรือคำแนะนำใดๆ เกี่ยวกับเส้นทางของคุณในการเรียนรู้จาวาสคริปต์ การตอบสนอง หรือการพัฒนาเว็บไซต์โดยทั่วไป โปรดอย่าลังเลที่จะติดต่อฉันสำหรับเซสชันแบบ 1:1
- เนื้อหาที่ขับเคลื่อนด้วย SEO และการเผยแพร่ประชาสัมพันธ์ รับการขยายวันนี้
- เพลโตบล็อคเชน Web3 Metaverse ข่าวกรอง ขยายความรู้. เข้าถึงได้ที่นี่.
- ที่มา: https://www.codementor.io/maximiliangeiger/making-the-choice-between-class-components-and-functional-components-in-react-20uvaeyqci
- 1
- 7
- a
- ข้างบน
- การกระทำ
- และ
- API
- การใช้งาน
- ใช้ได้
- เพราะ
- ที่ดีที่สุด
- ดีกว่า
- ระหว่าง
- เบราว์เซอร์
- ปุ่ม
- โทรศัพท์
- เปลี่ยนแปลง
- การเปลี่ยนแปลง
- ทางเลือก
- Choose
- เลือก
- ชั้น
- อย่างเห็นได้ชัด
- รหัส
- ส่วนประกอบ
- ส่วนประกอบ
- ติดต่อเรา
- แกน
- คู่
- สร้าง
- ปัจจุบัน
- แสดง
- เอกสาร
- ลง
- ง่ายดาย
- ที่ง่ายที่สุด
- อย่างง่ายดาย
- ผลกระทบ
- ทำให้สามารถ
- ทำให้มั่นใจ
- โดยเฉพาะอย่างยิ่ง
- เหตุการณ์
- คำอธิบาย
- ลักษณะ
- สองสาม
- หา
- ฟรี
- ราคาเริ่มต้นที่
- ฟังก์ชัน
- การทำงาน
- ฟังก์ชั่น
- ฟังก์ชั่น
- General
- ดี
- บัญชีกลุ่ม
- การจัดการ
- ช่วย
- โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม
- ตะขอ
- ความหวัง
- สรุป ความน่าเชื่อถือของ Olymp Trade?
- HTTPS
- การดำเนินการ
- สำคัญ
- in
- อินเตอร์เฟซ
- IT
- JavaScript
- คีย์
- เรียนรู้
- LOOKS
- Lot
- หลัก
- เก็บรักษา
- ทำ
- ทำให้
- การทำ
- ความหมาย
- การให้คำปรึกษา
- วิธีการ
- อาจ
- ข้อมูลเพิ่มเติม
- มากที่สุด
- การย้าย
- จำเป็นต้อง
- ความต้องการ
- ใหม่
- จำนวน
- เพิ่มประสิทธิภาพ
- การปรับให้เหมาะสม
- Options
- Organized
- ของตนเอง
- ส่วนหนึ่ง
- ส่วน
- เส้นทาง
- ดำเนินการ
- การปฏิบัติ
- ชิ้น
- เพลโต
- เพลโตดาต้าอินเทลลิเจนซ์
- เพลโตดาต้า
- กรุณา
- ความเป็นไปได้
- ชอบ
- เกิดปฏิกิริยา
- อ่าน
- เหตุผล
- ที่เกี่ยวข้อง
- แสดงให้เห็นถึง
- ผล
- กลับ
- เดียวกัน
- ความรู้สึก
- เซสชั่น
- ที่ใช้ร่วมกัน
- น่า
- ด้าน
- คล้ายคลึงกัน
- โดยเฉพาะ
- สถานะ
- ยังคง
- อย่างเช่น
- Takeaways
- พื้นที่
- ของพวกเขา
- ชื่อหนังสือ
- ไปยัง
- ร่วมกัน
- ลู่
- ชนิด
- เข้าใจ
- บันทึก
- การปรับปรุง
- ใช้
- ผู้ใช้งาน
- ส่วนติดต่อผู้ใช้
- ยินดีต้อนรับ
- อะไร
- ที่
- จะ
- โรงงาน
- จะ
- เขียน
- เขียน
- คุณ
- ของคุณ
- ลมทะเล