组件的组合和嵌套
React 嵌套
组件的嵌套是指: 将子组件在父组件的jsx中以标签的形式使用
类组件实现嵌套
// 父组件定义如下:
import React from 'react'
class Father extends React.Component{
render () {
return <div>
{/* 我们只要在父组件的jsx结构中以标签的形式写入子组件即可 */}
<Son/>
</div>
}
}
class Son extends React.Component{
render () {
return <div> 这里是子组件内容 </div>
}
}
函数组件实现嵌套
import React from 'react'
const Father = () => {
return (
<div>
{/* 我们只要在父组件的jsx结构中以标签的形式写入子组件即可 */}
<Son/>
</div>
)
}
const Son = () => {
return (
<div>
这里是子组件内容
</div>
)
}
React 组合
组件的组合是指:将一个组件写在另一个组件的内容中,然后在外层组件中通过 this.props.children来接收内容中的组件,
效果上类似vue中的插槽
类组件实现组合
import React from 'react'
class Title extends React.Component{
render (
<div>
<h3> 这里是title </h3>
</div>
)
}
class Content extends React.Component{
render (
<div>
<h3> 这里是Content </h3>
</div>
)
}
class Home extends React.Component{
render (
<div>
<h3> 这里是home </h3>
{/* 2. 在Home组件中使用 this.props.children来接收 */}
{ this.porps.children }
</div>
)
}
class App extends React.Component{
render () {
<Home>
{/* 1. 将子组件放在Home组件的内容中 */}
<Title/>
<Content/>
</Home>
}
}
函数组件实现组合
import React from 'react'
const Title = props => {
return (
<div> 这里是Title </div>
)
}
const Content = props => {
return (
<div> 这里是Content </div>
)
}
const Home = props => {
return (
<div> 这里是Home </div>
{/* 2. 在Home组件中使用 this.props.children来接收 */}
{ this.porps.children }
)
}
const App = props => {
return (
<div>
<Home>
{/* 1. 我们将子组件放在Home组件的内容中 */}
<Title/>
<Content/>
</Home>
</div>
)
}