React:组件通信方式

本文详细介绍了React中组件通信的四种常见方式:1) 父组件通过props向子组件传递信息;2) 子组件利用自定义事件通知父组件;3) 使用Context API进行跨级组件通信;4) 通过事件发布订阅模式实现非嵌套组件间通信。通过这些机制,开发者可以灵活地在React应用中管理组件间的交互。
摘要由CSDN通过智能技术生成

需要组件之间进行通信的几种情况

  • 父组件向子组件通信
  • 子组件向父组件通信
  • 跨级组件通信
  • 没有嵌套关系组件之间的通信

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值