父传子

props基本使用

import React, { Component } from 'react'class APP extends Component {render() {return (<div><h1>父子通讯——父组件</h1><hr /><Fn /><Child /></div>)}
}const Fn = () => {return (<div><p>子组件1</p></div>)
}class Child extends Component {render() {return (<div><p>子组件2</p></div>)}
}export default APP

页面显示效果:

子组件是函数组件,用props接收父组件传来的值

子组件是类组件,用props接收父组件传来的值

class 组件需要通过 this.props 来获取,this.porps 属性名是固定的

页面显示效果:

★★★

  1. props是只读对象,单向数据流,子组件只能使用不能修改
  2. 可以传递任意数据(数字 字符串 布尔类型 数组 对象 函数 jsx)

子传父

步骤

  1. 父组件提供一个回调函数(用于接收数据)
  2. 将该函数作为属性的值,传递给子组件
  3. 子组件通过 props 调用回调函数
  4. 将子组件的数据作为参数传递给回调函数

兄弟组件(实际上就是把他转变为父子通信)

将共享状态提升到最近的公共父组件中,由公共父组件管理这个状
父组件:

兄弟组件:

跨多级组件通讯(Context)——也就是两个组件之间间隔较远

// 导入创建 context 的函数
import { createContext } from 'react'// 创建 Context 对象
//   createContext 的返回值是一个 对象
//   对象中包含了两个组件,分别是: Provider 状态的提供者组件(提供状态)  Consumer 状态的消费者组件(使用状态)
const { Provider, Consumer } = createContext()// 使用 Provider 组件包裹整个应用,并通过 value 属性提供要共享的数据
<Provider value="blue"><div className="App"><Node /> </div>
</Provider>// 使用 Consumer 组件接收要共享的数据
<Consumer>{color => <span>data参数表示接收到的数据 -- {color}</span>}
</Consumer>

React-组件通信相关推荐

  1. React组件通信--props

    React组件通信 1.props接收数据 //index.js import App from "./App";ReactDOM.render(<App name='传递数 ...

  2. React组件通信-非父子组件间的通信

    文章目录 React非父子组件通信 小知识点的补充 Context应用场景 Context相关API Context使用流程 React非父子组件通信 在React中, 非父子组件传递是通过一个API ...

  3. React组件通信(父传子,子传父) - 前端

    父组件向子组件传值(通过props传值) 子组件: class Children extends Component{constructor(props){super(props);}render() ...

  4. react组件通信-逆战1913

    父组件向子组件通信 父组件: import React,{ Component } from "react"; import Childre from"./Childre ...

  5. React组件通信技巧

    效果图 communication.gif 点击查看Github完整源码 1.父向子通信 直接标签中插入参数即可 //number只是个例子 let _number = this.state.numb ...

  6. React组件通信传值 父传子 子传父 兄弟组件传值

    一.父组件传递子组件 在父组件中引入子组件,将父组件的state值放到子组件标签中传递,在子组件中用this.props.传值名称,接收 父组件代码: import React, { Componen ...

  7. react 显示隐藏组件的方法_10种React组件之间通信的方法

    来源 | https://segmentfault.com/a/1190000023585646 这两天被临时抽调到别的项目组去做一个小项目的迭代.这个项目前端是用React,只是个小型项目所以并没有 ...

  8. React组件(进阶--生命周期 )

    目录 一.生命周期 - 概述 二.生命周期 - 挂载阶段 三.生命周期 - 更新阶段 四.生命周期 - 卸载阶段 文章推荐: 1.JSX基础(入门) 2.React组件(入门) 3.React组件动状 ...

  9. [react] react组件间的通信有哪些?

    [react] react组件间的通信有哪些? Props Context ref:通过Ref获取组建的实例,在通过实例拿到组件的属性值或者方法的回调 第三方的,Redux是基于Conext基础上的库 ...

  10. React中的组件通信——父传子、子传父、Context

    0.认识组件间的通信 在开发过程中,我们会经常遇到需要组件之间相互进行通信: 比如App可能使用了多个Header,每个地方的Header展示的内容不同,那么我们就需要使用者传递给Header一些数据 ...

最新文章

  1. html5 go语言运行环境,GO环境搭建-Go语言中文社区
  2. Python基础教程:函数名本质
  3. 模块间holder的Boost.Flyweight测试
  4. lua ue_slua unreal分析(二)LuaActor与lua表互访
  5. 算法 --- [map的使用]求最大和谐子序列
  6. PHP vscode+XDebug 远程断点调试服务器上的代码
  7. Python基础练习题,含答案解析
  8. 计算机电路图解,几种常见的放大电路原理图解
  9. 对_stdcall 的理解 (转)
  10. 命令提示符怎么以管理员方式打开
  11. 小技巧(1):Ububtu18.04中.z01 .z02 .z03此类拆分后压缩文件解压缩办法(以及常用解分卷压缩方法)
  12. 中国大学慕课MOOC第七章测试题答案
  13. 相机投影变换(位姿)
  14. 动态规划实例--数组不连续取数问题(python 实现)
  15. SPSS创建数据文件
  16. 2019年人工智能产业发展调研报告
  17. 计算机的存储器体系结构,计算机体系结构设计 第05章 存储器体系结构设计.pptx...
  18. java和数据库的应用_JAVA数据库应用的一个小例子
  19. Python Markdown的拓展
  20. 西门子PLC_300F系列PLC_初始化MMC卡实验教程 S_L01

热门文章

  1. 8_19 比赛总结 [暑假集训]
  2. Sqlserver 以前我在学校T-sql建ATM取款机的sql语句
  3. jquery proxy delegate 的比较
  4. UVA669 LA5662 Defragment【暴力】
  5. UVA11526 H(n)【数学】
  6. π-Algorithmist分类题目(1)
  7. POJ NOI MATH-7655 回文数个数
  8. pandas 学习 ——Series
  9. (树莓派、Arduino、物联网、智能家居、机器人)传感器、机械装置、电子元件
  10. 位运算应用及其注意事项