如何传入 [<h1/><h2/>..] 等标签作为参数,以便能够构建具有自定义 header 大小的新组件?
How to pass in tags such as [<h1/><h2/>..] as parameters to be able to build a new component with custom header size?
我希望能够将 header 标记作为参数传递,以构建可更改大小的自定义组件。这是有关我要实现的目标的更多上下文的代码
const Course =({course})=>{
return(
<div>
<Header text={"Web dev cirriculum"} size ={"h1"}/>
<Header text={course.name} size={"h2"}/>
<Content course ={course}/>
</div>
)
}
const Header = ({text,size}) => {
return (
{<{size}>{text}</{size}>}
)
}
正如您在上面看到的那样,我试图在我的 <Header/>
组件上传递字符串“h1”和“h2”以构建自定义大小的 headers。
将header改为:
const Header = ({ text, size }) => {
const Component = size;
return (
<Component>{text}</Component>
)
}
之所以重命名,是因为 JSX 要求我们使用大写字母。如果把prop改为大写字母开头,就可以直接使用了:
const Header = ({ text, Size }) => {
return (
<Size>{text}</Size>
)
}
我希望能够将 header 标记作为参数传递,以构建可更改大小的自定义组件。这是有关我要实现的目标的更多上下文的代码
const Course =({course})=>{
return(
<div>
<Header text={"Web dev cirriculum"} size ={"h1"}/>
<Header text={course.name} size={"h2"}/>
<Content course ={course}/>
</div>
)
}
const Header = ({text,size}) => {
return (
{<{size}>{text}</{size}>}
)
}
正如您在上面看到的那样,我试图在我的 <Header/>
组件上传递字符串“h1”和“h2”以构建自定义大小的 headers。
将header改为:
const Header = ({ text, size }) => {
const Component = size;
return (
<Component>{text}</Component>
)
}
之所以重命名,是因为 JSX 要求我们使用大写字母。如果把prop改为大写字母开头,就可以直接使用了:
const Header = ({ text, Size }) => {
return (
<Size>{text}</Size>
)
}