在vue中存在插槽,在react中使用renderProps进行操作
使用方式
1.在父组件标签使用时,在标签内定义一个属性render2.render接受一个函数做为参数,返回一个子组件,可以将需要传递到子组件的数据当作参数传递 到子组件上3.在子组件中需要使用this.props.renders()调用
RenderProps.jsx
import React, { Component } from 'react'import "./index.css"export default class Parent extends Component {render() {return (<div className="parent"><h1>我是一个parent组件</h1><A render={name=><B name={name}/>}/></div>)}}class A extends Component {state={name:"wangsu"}render() {const {name}=this.statereturn (<div className="A"><h1>我是一个A组件</h1>{this.props.render(name)}</div>)}}class B extends Component {render() {return (<div className="B"><h1>我是一个B组件</h1>{this.props.name}</div>)}}
index.css
.parent{width: 400px;height: 400px;background-color: aqua;display: flex;justify-content: flex-end;align-items: flex-end;}.A{width: 300px;height: 300px;background-color: yellow;display: flex;justify-content: flex-end;align-items: flex-end;}.B{width: 200px;height: 200px;background-color: green;}
