IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> React的父传子、子传父通信与状态提升 -> 正文阅读

[JavaScript知识库]React的父传子、子传父通信与状态提升

react的状态管理用顺手了,今天有个小业务可以通过简单的父子组件之前通信完成,但是当我想用这个知识点时,竟然“摸键盘忘记语法了”。真的好尴尬啊。

父传子

在父组件页面中通过?<子组件名称? props属性名称 = {传递的数据} />??传递

子传父

在父组件中<子组件名称? 自定义函数={子组件中通过子组件传过来的值}?/>

在子组件中 通过调用 父组件的自定义函数(要向父组件传递过去的参数值)

状态提升

状态提升常用于兄弟组件之间的通信,具体方法就是将各个兄弟组件中的互相通信的参数值提升到父组件中。

代码

下面的简单demo是父传子、子传父与兄弟组件通信的案例

父组件

import { useState } from 'react'
import Class from './class'
import Function from './function'

import './index.css'
export default ()=>{
    const [count,setCount] =useState(0)
    return (
        <div className='outSider'>
            <h2>父组件</h2>
            <div>父组件中的count值-----------------{count}</div>
            <br />
            <Function count={count} change={(e)=>setCount(e)}/>
            <Class count={count} change={(e)=>setCount(e)}/>
        </div>
    )
}

子组件(Function、函数组件)

import { Button } from 'antd'
export default (props) => {
    const { count,change } = props
    return (
        <div className="content">
            <h3>函数组件</h3>
            <div>函数组件中的count值-----------------{count}</div>
            <Button onClick={()=>change(count+1)}>增加</Button>
        </div>
    )
}

子组件(Class、类组件)

import { PureComponent } from 'react'
import { Button } from 'antd'
export default class extends PureComponent {
    constructor(props) {
        super(props)
    }
    render() {
        return (
            <div className='content'>
                <h3>类组件</h3>
                <div>类组件中的count值-----------------{this.props.count}</div>
                <Button onClick={()=>this.props.change(this.props.count+1)}>增加</Button>
            </div>
        )
    }
}

?下面是案例效果:

?

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-24 18:23:15  更:2021-12-24 18:24:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:08:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码