คอมโพเนนต์บริสุทธิ์และการหลีกเลี่ยงผลข้างเคียงในการเรนเดอร์
เขียนฟังก์ชันเรนเดอร์ที่ไม่มีการกลายค่าและการอ่านข้อมูลภายนอก
คอมโพเนนต์บริสุทธิ์และการหลีกเลี่ยงผลข้างเคียงในการเรนเดอร์ เป็นบทเรียน React Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน React Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส React Academy มีบทเรียนทั้งหมด 4 บทเรียน
ยินดีต้อนรับ
ฟังก์ชัน Pure คืออะไร
เหตุใดความบริสุทธิ์จึงสำคัญใน React
ความไม่บริสุทธิ์ที่พบบ่อย: การแก้ไขสถานะภายนอก
let totalRenders = 0; // external
function Counter() {
totalRenders++; // BAD: side effect in render
return <p>{totalRenders}</p>;
}ความไม่บริสุทธิ์ที่พบบ่อย: การแก้ไขพร็อพส์
// Bad
function Badge({ user }) {
user.name = user.name.toUpperCase(); // mutates prop!
return <p>{user.name}</p>;
}
// Good
function Badge({ user }) {
const displayName = user.name.toUpperCase();
return <p>{displayName}</p>;
}ความไม่บริสุทธิ์ที่พบบ่อย: การใช้ค่าสุ่มหรือวันที่ในการ render
// Bad
function Token() {
const id = Math.random(); // different every render!
return <p>{id}</p>;
}
// Good
function Token() {
const [id] = useState(() => Math.random());
return <p>{id}</p>;
}การเรียกเอพีไอควรอยู่ใน useEffect
// Bad
function Profile({ id }) {
fetch('/api/user/' + id); // runs on every render!
return <div />;
}
// Good
useEffect(() => {
fetch('/api/user/' + id).then(/*...*/);
}, [id]);การแก้ไขข้อมูลภายในทำได้
function List({ items }) {
const sorted = [...items]; // new array
sorted.sort(); // mutating a local copy: OK
return sorted.map(i => <li key={i}>{i}</li>);
}ใช้ StrictMode เพื่อค้นหาความไม่บริสุทธิ์
คอมโพเนนต์ Pure และ React.memo
const Pure = React.memo(function Pure({ value }) {
return <p>{value}</p>;
});ตรวจสอบอย่างรวดเร็ว
สรุป
ถัดไป
คำถามที่พบบ่อย
บทเรียน “คอมโพเนนต์บริสุทธิ์และการหลีกเลี่ยงผลข้างเคียงในการเรนเดอร์” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “คอมโพเนนต์บริสุทธิ์และการหลีกเลี่ยงผลข้างเคียงในการเรนเดอร์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส React Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส React Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “คอมโพเนนต์บริสุทธิ์และการหลีกเลี่ยงผลข้างเคียงในการเรนเดอร์”
เขียนฟังก์ชันเรนเดอร์ที่ไม่มีการกลายค่าและการอ่านข้อมูลภายนอก คุณปฏิบัติ React Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน React Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน React Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “คอมโพเนนต์บริสุทธิ์และการหลีกเลี่ยงผลข้างเคียงในการเรนเดอร์” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน React Academy นี้ได้ไหม
ได้ บทเรียน React Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- StrictMode ทำอะไร
- คอมโพเนนต์บริสุทธิ์และการหลีกเลี่ยงผลข้างเคียงในการเรนเดอร์
- แนวทางปฏิบัติที่ดีสำหรับ Key และ Ref
- โครงสร้างโฟลเดอร์และหลักการตั้งชื่อ