[英]React: How to replace a JSX tag within a function component?
我正在嘗試修改 function 組件中存在的子組件。
假設這是我想在我自己的CustomizedTable
function 組件中呈現的原始Table
function 組件。 由於Table
function 組件設計精美,我不想修改整個 function 或結構。 我希望實現的是自定義替換已有的Body
組件
const Table = (props) => {
return (
<Context props={props}>
<Container className={props.className} style={props.style}>
<Header />
<Body
ColumnComponents={ColumnData}
RowComponents={RowData}
/>
<Footer />
</Container>
</Context>
);
});
如何查找<Body/>
組件並將其替換為嵌套在Table
function 組件中的<CustomizedBody>
? 有沒有辦法在不觸及現有<Body>
的情況下修改它?
import { Table } from './Table';
const CustomizedBody = (props) => {
return (
<Body>
// Body Add Ons
</Body>
)}
export const CustomizedTable = (props) => {
return (
<Table Body={<CustomizedBody>}>
</Table>
)}
當你將它作為props
傳遞時,你可以在主要組件中將它用作props.children
。
React 建議在 inheritance 上使用組合模式。您可以在此處閱讀更多內容
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.