react学习笔记11:this.props.children和分发

我们知道组件除了单标签调用还可以闭合标签调用

<Tab />

或者:

<Tab></Tab>

1.分发处理

对于下面这种结构,我们在组件中怎么获取包括的结构:

在组件中,我们知道this.props可以拿到调用位置传递的任意属性,同样的react还为我们提供了this.props.children

获取调用位置包含的结构。

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import registerServiceWorker from './registerServiceWorker';


//设置组件
class Slot extends React.Component {
	

	
	render() {	
		
		return <div>
			{this.props.children}
		</div>
	}

	
}


ReactDOM.render(
    <div>
		<Slot><span>分发内容1</span></Slot>
	</div>,document.getElementById('root')
);
registerServiceWorker();

审查元素:

同样可以设置多个分发内容

我们console.log(this.props.children)

2.分发组件

我们把里面的静态结构修改一个组件的调用

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import registerServiceWorker from './registerServiceWorker';


//设置组件
class Slot extends React.Component {
	
	
	render() {	
		
		return <div>
			{this.props.children}
		</div>
	}
	componentDidMount() {
	   console.log(this.props.children)
	}
	
	
}
//设置组件2
class Slot2 extends React.Component {
		
	render() {	
		
		return <div>
			我是组件2
		</div>
	}
	
	
}

ReactDOM.render(
    <div>
		<Slot><Slot2></Slot2></Slot>
	</div>,document.getElementById('root')
);
registerServiceWorker();

我们会发现this.props.children同样可以识别解析。

相关文章

react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接...
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc ...