React组件间通信
众所周知,ReactJS组件与组件之间的通信是一个难点。在React实际开发中,父子组件之间的传值是比较常见的,刚入门的小伙伴很容易被组件之间的通信绕懵。 今天花了点时间总结了一下React父子组件之间传值,和vue差不多的思路,父组件向子组件传值,父通过初始state,子组件通过this.props进行接收就可以了;子组件向父组件传值需要绑定一个事件,然后事件是父组件传递过来的this.props.event来进行值的更替。我下面将会用代码进行演示。
父组件向子组件传值:
将父组件的state通过props传入子组件
父组件:
import React, { Component } from 'react'
import Son from './Son'
export default class Father extends Component {
constructor(props) {
super(props);
this.state = {
msg :'我是父组件传过来的值--5'
}
}
render() {
let style02 = {
width:400,
height: 100,
backgroundColor: 'red'
}
return (
<div style={style02}>
<p>父组件</p>
<Son msg = {this.state.msg}/>
</div>
)
}
}
子组件:
import React, { Component } from 'react'
export default class Son extends Component {
render() {
let style01 = {
width:200,
height: 100,
margin: '0 auto',
backgroundColor: 'pink'
}
return (
<div>
<p style={style01}>子组件--- <br/><span>{this.props.msg}</span></p>
</div>
)
}
}
效果图:

子组件向父组件传值:
记住这句话数据在哪,方法就定义在哪!!
子组件:
import React, { Component } from 'react'
export default class Son extends Component {
constructor(props) {
super();
this.state = {
msg:'我是子组件'
}
}
render() {
return (
<div>
<h1>我是子组件</h1>
<button onClick={()=>this.props.handleClick(this.state.msg)}>点击向父组件传值</button>
</div>
)
}
}
父组件:
import React, { Component } from 'react'
import Son from './Son'
export default class Father extends Component {
constructor(props) {
super(props);
this.state = {
msg :'我是父组件传过来的值--5'
}
}
handleClick=(msg)=> {
alert(`这是子组件通过调用父组件传递的方法接受到的msg:${msg}`)
}
render() {
return (
<div>
<Son handleClick = {this.handleClick}/>
</div>
)
}
}
效果:点击按钮向父组件传值。

小结:首先感谢你把这篇博客看完,是不是很简单啊朋友们,哪里不明白的可以在评论区里留言,如果大家对文章有什么建议,欢迎指点。
React组件间通信的更多相关文章
- React 组件间通信介绍
React 组件间通信方式简介 React 组件间通信主要分为以下四种情况: 父组件向子组件通信 子组件向父组件通信 跨级组件之间通信 非嵌套组件间通信 下面对这四种情况分别进行介绍: 父组件向子 ...
- vue 和 react 组件间通信方法对比
vue 和 react 组件间通信方法对比: 通信路径 vue的方法 react的方法 父组件 => 子组件 props(推荐).slot(推荐).this.$refs.this.$childr ...
- React组件间通信-sub/pub机制
React生命周期第二个demo演示了兄弟组件的通信,需要通过父组件,比较麻烦:下面介绍sub/pub机制来事项组件间通信. 1.导包 npm i pubsub-js 2.UserSearch.jsx ...
- React 组件间通信 总结
组件间通信 5.1.1. 方式一: 通过props传递 1) 共同的数据放在父组件上, 特有的数据放在自己组件内部(state) 2) 通过props可以传递一般数据和 ...
- react 组件间通信,父子间通信
一.父组件传值给子组件 父组件向下传值是使用了props属性,在父组件定义的子组件上定义传给子组件的名字和值,然后在子组件通过this.props.xxx调用就可以了. 二.子组件传值给父组件 子组件 ...
- React 组件间通信
https://jsfiddle.net/69z2wepo/9719/ <script src="https://facebook.github.io/react/js/jsfiddl ...
- React独立组件间通信联动
React是现在主流的高效的前端框架,其官方文档 http://reactjs.cn/react/docs/getting-started.html 在介绍组件间通信时只给出了父子组件间通信的方法,而 ...
- React 精要面试题讲解(二) 组件间通信详解
单向数据流与组件间通信 上文我们已经讲述过,react 单向数据流的原理和简单模拟实现.结合上文中的代码,我们来进行这节面试题的讲解: react中的组件间通信. 那么,首先我们把看上文中的原生js代 ...
- [转] React 中组件间通信的几种方式
在使用 React 的过程中,不可避免的需要组件间进行消息传递(通信),组件间通信大体有下面几种情况: 父组件向子组件通信 子组件向父组件通信 跨级组件之间通信 非嵌套组件间通信 下面依次说下这几种通 ...
随机推荐
- [Lintcode]Word Squares(DFS|字符串)
题意 略 分析 0.如果直接暴力1000^5会TLE,因此考虑剪枝 1.如果当前需要插入第i个单词,其剪枝如下 1.1 其前缀(0~i-1)已经知道,必定在前缀对应的集合中找 – 第一个词填了ball ...
- 3DMAX可编辑多边形常用命令-桥
桥命令可以连接连个面 下图两个cube(可编辑多边形)已经被附加到一起,选中相对的两个面,点击桥 结果
- 《深入理解Java虚拟机》笔记01 -- 运行时数据区
运行时数据区示意图 1. 程序计数器 占用一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器.主要用来记录线程执行到哪条语句了,分支.循环.跳转.异常处理.线程恢复等功能都需要依赖这个 ...
- qsc54(区间dp)
题目链接:http://qscoj.cn/problem/54/ 题意:中文题诶- 思路:区间dp 我们可以用dp[i][j]存储区间[i, j]最少需要的打印次数,若没有相同的字母,那么需要的打印次 ...
- cogs 421. HH的项链
421. HH的项链 http://218.28.19.228/cogs/problem/problem.php?pid=421 ★★★ 输入文件:diff.in 输出文件:diff.out ...
- Linux上安装Apache服务器
http://httpd.apache.org/download.cgi httpd-2.4.29.tar.gz #创建httpd用户 groupadd httpd useradd -g httpd ...
- JDBC连接数据以及详细的ResultSet结果集解释
一.数据库连接 (前面为jdbc的其他参数,文章下部分为ResultSet详解) ResultSet rs = st.executeQuery(sqlStr) 1. java的sql框架支持多种数据库 ...
- js函数-构成
前言 函数是一种封装,在任何语言中都是一个核心概念.在js中,函数是做为对象的子类型存在的.可以拥有自己的属性和方法,可以做为值进行传递,这两个特性让js拥有使用函数式编程的能力. 函数的声明 字面量 ...
- puthon-进程间通信-队列和管道
********进程间通信-队列和管道******** ****进程间通信-队列和管道 IPC(Inter-Process Communication) ****队列 **概念介绍 创建贡献的进程队列 ...
- BestCoder Round #81 (div.2) 1003 String
题目地址:http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=691&pid=1003题意:找出一个字符串满足至少 ...