昨天我們在元件上設定屬性傳入 props
資料,
React還有其他傳遞資料的方式就是可以用 props.children
使用,
能讓子元件以 props.children
方式,傳入JSX的結構,
這樣的方式讓開發者能夠在元件內部靈活地插入子元素。
在前面幾篇中,當我們使用React component時,元件都是這樣表示
<元件名稱/>
而元件也可以這樣表示
<元件名稱><元件名稱/>
而今天要使用children
的話則是 夾在元件的中間裡面
<元件名稱>
放入想要呈現的JSX內容
<元件名稱/>
我們來看一個實際範例:
所渲染出來的畫面會是
props.children
可以讓你做到這一點,而不必額外傳遞 props
。props.children
自動渲染這些內容。對話框(Dialog)或彈窗(Modal):
Modal
元件,並使用 props.children
來插入特定的內容。這樣可以重用相同的 Modal
元件來顯示不同的文字或對話框。function Modal({ title, children }) {
return (
<div className="modal">
<h2>{title}</h2>
{children}
<button>Close</button>
</div>
);
}
<Modal title="User Information">
<p>User details go here.</p>
</Modal>
佈局(Layout):
props.children
可用來動態插入頁面內的主要內容區域,而外層佈局保持不變。function Layout({ children }) {
return (
<div className="layout">
<header>Header</header>
<main>{children}</main>
<footer>Footer</footer>
</div>
);
}
<Layout>
<h1>Welcome to My Website</h1><p>This is the homepage content.</p>
</Layout>
props.children
是 React 中一個非常實用的功能,可以在元件間靈活地傳遞和顯示內容,並設計出更加彈性且可複用性高的元件。
本文將會同步更新到我的部落格