รูปแบบ Render Props
ส่งฟังก์ชันเป็น prop ซึ่งคืนค่า JSX เพื่อแบ่งปันพฤติกรรมโดยไม่ผูกติดกับ UI
รูปแบบ Render Props เป็นบทเรียน React Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน React Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส React Academy มีบทเรียนทั้งหมด 4 บทเรียน
ยินดีต้อนรับ
พร็อพสำหรับการเรนเดอร์คืออะไร
<DataProvider render={data => <UserCard user={data} />} />ตัวอย่างพร็อพสำหรับการเรนเดอร์อย่างง่าย
function Toggle({ render }) {
const [on, setOn] = useState(false);
return render(on, () => setOn(!on));
}
<Toggle render={(on, toggle) => (
<button onClick={toggle}>{on ? 'Close' : 'Open'}</button>
)} />ใช้ children เป็นพร็อพสำหรับการเรนเดอร์
<Toggle>
{(on, toggle) => (
<div>
{on && <Panel />}
<button onClick={toggle}>Toggle</button>
</div>
)}
</Toggle>ตัวติดตามตำแหน่งเมาส์
function MouseTracker({ children }) {
const [pos, setPos] = useState({ x: 0, y: 0 });
return (
<div onMouseMove={e => setPos({ x: e.clientX, y: e.clientY })}>
{children(pos)}
</div>
);
}พร็อพสำหรับการเรนเดอร์เทียบกับฮุกแบบกำหนดเอง
// Old: render props
<Mouse render={pos => <p>{pos.x}</p>} />
// Modern: custom hook
const pos = useMouse();
<p>{pos.x}</p>เมื่อใดยังควรใช้พร็อพสำหรับการเรนเดอร์
คำเตือนด้านประสิทธิภาพ
// Avoid: new function every render
<Toggle render={pos => <Dot pos={pos} />} />
// Better: stable reference
const renderDot = pos => <Dot pos={pos} />;
<Toggle render={renderDot} />การประกอบพร็อพสำหรับการเรนเดอร์
พร็อพสำหรับการเรนเดอร์ในไลบรารี
ตรวจสอบความเข้าใจ
สรุปทบทวน
บทถัดไป
คำถามที่พบบ่อย
บทเรียน “รูปแบบ Render Props” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “รูปแบบ Render Props” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส React Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส React Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “รูปแบบ Render Props”
ส่งฟังก์ชันเป็น prop ซึ่งคืนค่า JSX เพื่อแบ่งปันพฤติกรรมโดยไม่ผูกติดกับ UI คุณปฏิบัติ React Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน React Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน React Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “รูปแบบ Render Props” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน React Academy นี้ได้ไหม
ได้ บทเรียน React Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- รูปแบบ Render Props
- ทำความเข้าใจคอมโพเนนต์ลำดับสูง (HOC)
- HOC กับ Render Props และ Custom Hooks
- การปรับโครงสร้าง HOC เป็น Custom Hook