React中父子组件传值
一.首先我们先来看父组件向子组件传值
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中父子组件传值的更多相关文章
- 使用react进行父子组件传值
在单页面里面,父子组件传值是比较常见的,之前一直用vue开发,今天研究了一下react的父子组件传值,和vue差不多的思路,父组件向子组件传值,父通过初始state,子组件通过this.props进行 ...
- React中父子组件间的通信问题
1.https://blog.csdn.net/sinat_17775997/article/details/59103173 (React中父子组件间的通信问题)
- React中父子组件数据传递
Vue.js中父子组件数据传递:Props Down , Events Up Angular中父子组件数据传递:Props Down, Events Up React中父子组件数据传递:Prop ...
- React中兄弟组件传值
兄弟组件传值 实际上是间接的通过第三方来实现传值,举例,第一个儿子把值传给父亲,父亲在把这个值传给第二个儿子,这样就实现了兄弟组件传值 来看代码: 父组件代码 import React from 'r ...
- vue 中父子组件传值:props和$emit
更新----------- 1 父组件向子组件传值:通过props数组: 在vue-cli Login.vue父组件中有AcceptAndRefuse.vue子组件,首先import进子组件hello ...
- vue中父子组件传值问题 通过props 和 $emit()方法
(代码在最后) 1.父组件给子组件传值直接通过props,听着很简单,但是对于初学者来说还是比较难以理解的,今天小白通过自己的实践操作结合代码分析一下 案例 把模态框单独的抽离出来,当作一个组件 第 ...
- 五、react中父子组件间如何传值
1.父组件向子组件传递数据:父组件绑定属性值传给子组件,子组件通过this.props()接受. 2.子组件向父组件传递数据:子组件绑定一个方法,方法中通过this.props.父组件方法名(参数)传 ...
- 九、React中的组件、父子组件、React props父组件给子组件传值、子组件给父组件传值、父组件中通过refs获取子组件属性和方法
一.概述 React中的组件: 解决html 标签构建应用的不足. 使用组件的好处:把公共的功能单独抽离成一个文件作为一个组件,哪里里使用哪里引入. [父子组件]:组件的相互调用中,我们把调用者称为父 ...
- 十八、React react-router4.x中:实现路由模块化、以及嵌套路由父子组件传值
一.路由模块化(用字典定义路由,然后循环出来) 1.官方文档参考 [官方文档]https://reacttraining.com/react-router/web/guides/quick-start ...
随机推荐
- [HNOI2012]矿场搭建 (点双连通)
题目 [HNOI2012]矿场搭建 解析 这个题做的我十分自闭.. 没看出这个是个点双,然后一晚上+半上午.. 一看肯定和割点有关,我们找到所有的点双,会发现有这么几种情况 连通块中一个割点也没有,这 ...
- git恢复已删的分支
git恢复已经删除的分支 执行git命令, 找回之前提交的commit git log -g 执行效果 commit 80fd3a3e1abeab52030ee9f6ec32b5c815de20a9 ...
- jQuery-使页面回到顶部
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- php无限分类方法类
创建数据库以及表 CREATE DATABASE `sortclass`DEFAULT CHARSET utf8; CREATE TABLE IF NOT EXISTS `class` ( `cid` ...
- selenium 滚动屏幕操作+上传文件
执行js脚本来滚动屏幕: (x,y)x为0 纵向滚动,y为0横向滚动 负数为向上滚动 driver.execute_script('window.scrollBy(0,250)') 上传文件: 1.导 ...
- spring cloud (五) 熔断面板 聚合熔断 turbine
改造feign 项目 1 启动类添加注解 @EnableHystrix 2 添加如下配置文件 #ji eureka.instance.metadata-map.cluster=MAIN#actuat ...
- [AI] 论文笔记 - U-Net 简单而又接近本质的分割网络
越简单越接近本质. 参考资料 U-Net: Convolutional Networks for Biomedical Image Segmentation Abstract & Introd ...
- MAT022 Foundations of Statistics
MAT022 Foundations of Statistics and Data Science Summative Assessment 2019/20MAT022 Foundations of ...
- MySQL 日期格式化,取年月日等相关操作
日期取年.月.日 select id, phone,time,year(time),month(time), DAY(time),TIME(time) from user where phone='x ...
- Django ContentTypes框架使用场景
Django contenttypes是一个非常有用的框架,主要用来创建模型间的通用关系(generic relation).不过由于其非常抽象, 理解起来并不容易.当你创建一个django项目的时候 ...