一.首先我们先来看父组件向子组件传值

1.1 我们要明白父组件 --> 子组件 是通过props这个属性来传值的

我们来看父组件的代码

 import React from 'react';
import Son1 from './Son1';
class Father extends React.Component{
constructor(){
super(); }
render(){
return(
<React.Fragment>
{/* 我们在这里引入子组件 并声明一个属性str 给他传一个hello */}
<Son1 str='hello'></Son1>
</React.Fragment>
)
} }
export default Father;

接着看子组件

 import React from 'react';
class Son1 extends React.Component{
constructor(){
super()
} render(){
return(
<React.Fragment>
{/* 子组件通过props 这个属性来接受父组件传过来的str */}
{this.props.str}
</React.Fragment>
)
} }
export default Son1;

页面上就可以得到 hello这个值

二. 子组件向父组件传值

在这里我们分为4个步骤

2.1、在父组件中声明一个函数,用于接收子组件的传值

2.2、通过组件属性的方法,把函数传递给子组件

先看父组件的代码

 import React from 'react';
import Son1 from './Son1';
class Father extends React.Component{
constructor(){
super(); }
// 1、在这里中声明一个函数,用于接收子组件的传值
message(msg){
// 通过形参接受到子组件的值并打印到控制台
console.log(msg)
}
render(){
return(
<React.Fragment>
{/* 在这里声明一个msg属性,通过组件属性的方法,把函数传递给子组件 */}
<Son1 msg={this.message}></Son1>
</React.Fragment>
)
} }
export default Father;

2.3、在子组件中通过props属性调用父组件的函数,并通过参数传值

 import React from 'react';
class Son1 extends React.Component{
constructor(){
super()
}
render(){
return(
<React.Fragment>
{/* 在子组件中通过props属性调用父组件的函数,并通过参数传值 */}
{this.props.msg('hello Word')}
</React.Fragment>
)
} }
export default Son1;

2.4、在父组件中的函数通过形参接收子组件的传值

这样就可以看到控制台打印的效果

React中父子组件传值的更多相关文章

  1. 使用react进行父子组件传值

    在单页面里面,父子组件传值是比较常见的,之前一直用vue开发,今天研究了一下react的父子组件传值,和vue差不多的思路,父组件向子组件传值,父通过初始state,子组件通过this.props进行 ...

  2. React中父子组件间的通信问题

    1.https://blog.csdn.net/sinat_17775997/article/details/59103173 (React中父子组件间的通信问题)

  3. React中父子组件数据传递

    Vue.js中父子组件数据传递:Props Down ,  Events Up Angular中父子组件数据传递:Props Down,  Events  Up React中父子组件数据传递:Prop ...

  4. React中兄弟组件传值

    兄弟组件传值 实际上是间接的通过第三方来实现传值,举例,第一个儿子把值传给父亲,父亲在把这个值传给第二个儿子,这样就实现了兄弟组件传值 来看代码: 父组件代码 import React from 'r ...

  5. vue 中父子组件传值:props和$emit

    更新----------- 1 父组件向子组件传值:通过props数组: 在vue-cli Login.vue父组件中有AcceptAndRefuse.vue子组件,首先import进子组件hello ...

  6. vue中父子组件传值问题 通过props 和 $emit()方法

    (代码在最后) 1.父组件给子组件传值直接通过props,听着很简单,但是对于初学者来说还是比较难以理解的,今天小白通过自己的实践操作结合代码分析一下 案例  把模态框单独的抽离出来,当作一个组件 第 ...

  7. 五、react中父子组件间如何传值

    1.父组件向子组件传递数据:父组件绑定属性值传给子组件,子组件通过this.props()接受. 2.子组件向父组件传递数据:子组件绑定一个方法,方法中通过this.props.父组件方法名(参数)传 ...

  8. 九、React中的组件、父子组件、React props父组件给子组件传值、子组件给父组件传值、父组件中通过refs获取子组件属性和方法

    一.概述 React中的组件: 解决html 标签构建应用的不足. 使用组件的好处:把公共的功能单独抽离成一个文件作为一个组件,哪里里使用哪里引入. [父子组件]:组件的相互调用中,我们把调用者称为父 ...

  9. 十八、React react-router4.x中:实现路由模块化、以及嵌套路由父子组件传值

    一.路由模块化(用字典定义路由,然后循环出来) 1.官方文档参考 [官方文档]https://reacttraining.com/react-router/web/guides/quick-start ...

随机推荐

  1. vue动态循环出的多个select出现过的变为disabled

    <template> <div class="artcle"> <el-form label-width="100px" :mod ...

  2. Linux“七大蠢”收录

    这个系列的文章,前段时间在微信公共平台(阿里技术嘉年华)上看过,写得很好. Linux"七大蠢"之一:万般皆文本 Linux"七大蠢"之二:处处有脚本 Linu ...

  3. scrapy爬虫中间件-urlLength

    浏览器里面能输入的最大url是有限制的 safari 最多 一万多 ie最少  2083 urllength中间件源码 谷歌和火狐正常 八千多 """ Url Lengt ...

  4. vue中使用echart柱状图

    一: <template> <Layout> <Content> <Card :style="{minHeight:'300px'}"&g ...

  5. 微信小程序 - 定位功能

    (1) 查看微信小程序文档 大家可以从我截图中可以看到,API中的返回值有纬度和经度,所以我们接下来就是要用到纬度和经度逆地址解析出地址的一些信息. (2)注册腾讯地图开放平台 注册完之后选择WebS ...

  6. Java-最常用的Java日志框架整理

    Java-最常用的Java日志框架整理 前言 Java程序员,我们开发了很多Java应用程序,包括桌面应用.WEB应用以及移动应用.然而日志系统是一个成熟Java应用所必不可少的,在开发和调试阶段,日 ...

  7. spring cloud (八) Config client 和项目公共配置

    1 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h ...

  8. Windows 将FTP 映射到本地文件夹 --简化操作

    转载自yutiantongbu Windows 将FTP 映射到本地文件夹 --简化操作 1.右键我的电脑,选择映射网络驱动器 2.选择"连接到可用与存储文档和图片的网站" 3.接 ...

  9. python怎么连接MongoDB数据库

    Python 要连接 MongoDB 需要 MongoDB 驱动,这里我们使用 PyMongo 驱动来连接. pip 安装: pip3 install pymongo 引入库: import pymo ...

  10. Hibernate中Java对象的生命周期

    一个对象的出生源于我们的一个new操作,当我们使用new语句创建一个对象,这个对象的生命周期就开始了,当我们不在有任何引用变量引用它,这个对象就的生命就此结束,它占用的内存就可以被JVM的垃圾回收器回 ...