react中模仿vue的slot插槽:
应用children props: 通过组件标签体传入构造
应用render props: 通过组件标签属性传入构造,而且能够携带数据,个别用render函数属性

children props

<A>  <B>xxxx</B></A>{this.props.children}问题: 如果B组件须要A组件内的数据, ==> 做不到 

render props

<A render={(data) => <C data={data}></C>}></A>A组件: {this.props.render(外部state数据)}C组件: 读取A组件传入的数据显示 {this.props.data} 

实例举例

export default class Parent extends Component {  render() {    return (      <div className="parent">        <h3>我是Parent组件</h3>        // 此处的render是下面,类插槽的名称,能够为任意名称        <A render={(name)=><C name={name}/>}/>      </div>    )  }}class A extends Component {  state = {name:'tom'}  render() {    console.log(this.props);    const {name} = this.state    return (      <div className="a">        <h3>我是A组件</h3>        // 此处的render是下面,类插槽的名称,能够为任意名称        {this.props.render(name)}      </div>    )  }}class B extends Component {  render() {    console.log('B--render');    return (      <div className="b">        <h3>我是B组件,{this.props.name}</h3>      </div>    )  }}