react 父子组件通信 基础

父传子

使用props

js 复制代码
import { useState } from 'react'

function Parent {
    const [message, setMessage] = useState('react')

    return (
        <>
            <SonA message={message} />
            <SonB message={message} />
        </>
    )
}

function SonA(props) {
    return <div>子组件A: {props.message}</div>
}

function SonB({ message }) {
    return <div>子组件B: {message}</div>
}

子传父

子组件调用父组件传递过来的函数,并且把想要传递的数据当成函数的实参传入即可

js 复制代码
function Parent() {
    const getSonMessage = (message) => {
        console.log(message)
    }

    return (
        <SonFun
            getSonMessage={getSonMessage}
        />
    )
}

function SonFun(props) {
    const { getSonMessage } = props

    const handleClick = () => {
        getSonMessage('new message')
    }

    return (
        <button onClick={handleClick}>点击传递数据</button>
    )
}

兄弟组件之间的通信

通过状态提升机制,利用共同的父组件实现兄弟组件通信

js 复制代码
import { useState } from 'react'

function Parent() {
    const [message, setMessage] = useState('')

    const getSonMessage = (message) => {
        setMessage(message)
    }

    return (
        <>
            <SonA message={message}></SonA>
            <SonB getSonBMessage={getSonMessage} />
        </>
    )
}

function SonB(props) {
    const { getSonBMessage } = props

    const handleClick = () => {
        getSonBMessage('message from B')
    }
    return (
        <button onClick={handleClick}>点击传递数据</button>
    )
}

function SonA(props) {
    const { message } = props
    return (
        <div>{message}</div>
    )
}
相关推荐
红尘散仙9 分钟前
一套 Rust 核心,跑通 Tauri + React Native
react native·react.js·rust
PieroPc14 分钟前
CAMWATCH — 局域网摄像头监控系统 Fastapi + html
前端·python·html·fastapi·监控
巴巴博一1 小时前
2026 最新:Trae / Cursor 一键接入 taste-skill 完整教程(让 AI 前端告别“AI 味”)
前端·ai·ai编程
kyriewen1 小时前
半夜三点线上崩了,AI替我背了锅——用AI排错,五分钟定位三年老bug
前端·javascript·ai编程
kyriewen2 小时前
我让 AI 当了 24 小时全年无休的“毒舌考官”
前端·ci/cd·ai编程
hexu_blog2 小时前
vue+java实现图片批量压缩
java·前端·vue.js
IT_陈寒2 小时前
为什么你应该学习JavaScript?
前端·人工智能·后端
lifejump3 小时前
Empire(帝国)CMS 7.5 XSS注入
前端·安全·xss
无风听海3 小时前
OAuth 2.0 前端通道与后端通道深入剖析
前端·oauth
sakiko_3 小时前
UIKit学习笔记8-发送照片、拍摄照片并发送
前端·swift·uikit