React-组件通信
父传子
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
属性名是固定的
页面显示效果:
★★★
- props是只读对象,单向数据流,子组件只能使用不能修改
- 可以传递任意数据(数字 字符串 布尔类型 数组 对象 函数 jsx)
子传父
步骤:
- 父组件提供一个回调函数(用于接收数据)
- 将该函数作为属性的值,传递给子组件
- 子组件通过 props 调用回调函数
- 将子组件的数据作为参数传递给回调函数
兄弟组件(实际上就是把他转变为父子通信)
将共享状态提升到最近的公共父组件中,由公共父组件管理这个状
父组件:
兄弟组件:
跨多级组件通讯(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-组件通信相关推荐
- React组件通信--props
React组件通信 1.props接收数据 //index.js import App from "./App";ReactDOM.render(<App name='传递数 ...
- React组件通信-非父子组件间的通信
文章目录 React非父子组件通信 小知识点的补充 Context应用场景 Context相关API Context使用流程 React非父子组件通信 在React中, 非父子组件传递是通过一个API ...
- React组件通信(父传子,子传父) - 前端
父组件向子组件传值(通过props传值) 子组件: class Children extends Component{constructor(props){super(props);}render() ...
- react组件通信-逆战1913
父组件向子组件通信 父组件: import React,{ Component } from "react"; import Childre from"./Childre ...
- React组件通信技巧
效果图 communication.gif 点击查看Github完整源码 1.父向子通信 直接标签中插入参数即可 //number只是个例子 let _number = this.state.numb ...
- React组件通信传值 父传子 子传父 兄弟组件传值
一.父组件传递子组件 在父组件中引入子组件,将父组件的state值放到子组件标签中传递,在子组件中用this.props.传值名称,接收 父组件代码: import React, { Componen ...
- react 显示隐藏组件的方法_10种React组件之间通信的方法
来源 | https://segmentfault.com/a/1190000023585646 这两天被临时抽调到别的项目组去做一个小项目的迭代.这个项目前端是用React,只是个小型项目所以并没有 ...
- React组件(进阶--生命周期 )
目录 一.生命周期 - 概述 二.生命周期 - 挂载阶段 三.生命周期 - 更新阶段 四.生命周期 - 卸载阶段 文章推荐: 1.JSX基础(入门) 2.React组件(入门) 3.React组件动状 ...
- [react] react组件间的通信有哪些?
[react] react组件间的通信有哪些? Props Context ref:通过Ref获取组建的实例,在通过实例拿到组件的属性值或者方法的回调 第三方的,Redux是基于Conext基础上的库 ...
- React中的组件通信——父传子、子传父、Context
0.认识组件间的通信 在开发过程中,我们会经常遇到需要组件之间相互进行通信: 比如App可能使用了多个Header,每个地方的Header展示的内容不同,那么我们就需要使用者传递给Header一些数据 ...
最新文章
- html5 go语言运行环境,GO环境搭建-Go语言中文社区
- Python基础教程:函数名本质
- 模块间holder的Boost.Flyweight测试
- lua ue_slua unreal分析(二)LuaActor与lua表互访
- 算法 --- [map的使用]求最大和谐子序列
- PHP vscode+XDebug 远程断点调试服务器上的代码
- Python基础练习题,含答案解析
- 计算机电路图解,几种常见的放大电路原理图解
- 对_stdcall 的理解 (转)
- 命令提示符怎么以管理员方式打开
- 小技巧(1):Ububtu18.04中.z01 .z02 .z03此类拆分后压缩文件解压缩办法(以及常用解分卷压缩方法)
- 中国大学慕课MOOC第七章测试题答案
- 相机投影变换(位姿)
- 动态规划实例--数组不连续取数问题(python 实现)
- SPSS创建数据文件
- 2019年人工智能产业发展调研报告
- 计算机的存储器体系结构,计算机体系结构设计 第05章 存储器体系结构设计.pptx...
- java和数据库的应用_JAVA数据库应用的一个小例子
- Python Markdown的拓展
- 西门子PLC_300F系列PLC_初始化MMC卡实验教程 S_L01