需要组件之间进行通信的几种情况
- 父组件向子组件通信
- 子组件向父组件通信
- 跨级组件通信
- 没有嵌套关系组件之间的通信
1. 父组件向子组件通信
React数据流动是单向的,父组件向子组件通信也是最常见的;父组件通过props向子组件传递需要的信息。
父组件PageA:
import React, {
Component } from 'react';
import ChildA from '../components/ChildA';
class pageA extends Component {
render() {
return (
<div>
pageA
<ChildA name="tom" />
</div>
);
}
}
//函数组件:
function pageA() {
return (
<div>
pageA
<ChildA name="Eve" />
</div>
)
}
export default pageA;
子组件ChildA:
import React, {
Component } from 'react';
class ChildA extends Component {
render() {
return (
<div>
ChildA: my name is {
this.props.name}
</div>
);
}
}
//函数组件:
function ChildA(props) {
return (
<div>
ChildA: my name is {
props.name}
</div>
)
}
export default ChildA;
2. 子组件向父组件通信
利用自定义事件,触发回调
子组件ChildA:
import React, {
Component } from 'react';
class ChildA extends Component {
constructor(props) {
super(props)
this.state = {
data:''}
}
valueChange = data => {
this