首先有三个js文件,index.js(父组件) baseForm.js(子组件) etable.js(子组件)

在index.js中定义一个arr数组,传给BaseForm组件

import React from 'react'
import BaseForm from '../components/baseForm'
import ETable from '../components/etable'
export default class IndexPage extends React.Component{state = {arr: [1,2,3,4,5]}changeArr = () => {this.setState({arr: [2,3,4,8,10]})}render () {return (<div><BaseForm arr = {this.state.arr} changeArr = {this.changeArr}></BaseForm><ETable></ETable></div>)}
}
复制代码

在BaseForm组件中能够通过this.props.arr获取到父组件传来的数组,通过this.commitChange向父组件传递一个事件

import React from 'react'
import {Button} from 'antd'
export default class BaseForm extends React.Component{initFormList = () => {const arr = this.props.arr;return arr.map((item) => {return <span>{item}</span>})}commitChange = () => {this.props.changeArr();}render () {return (<div>{this.initFormList()}<Button type="default"  onClick={this.commitChange}>修改</Button></div>)}
}
复制代码

父组件通过接收子组件传来的事件对数据进行处理,在将数据传给子组件,数据都是由父到子单向数据流

由于react中数据传递是单向的,数据流只能从父组件流向子组件。子组件间数据传递可以通过先将数据传给他们共同的父组件,再由父组件传给子组件。(当然也可通过状态管理机制redux控制,本文不详细介绍) 首先通过propData向父组件传递一个对象父组件通过tobrotherdata方法setState一个data值,设置data向另一个子组件ETable传值在ETable组件内部获取数据

import React from 'react'
export default class ETable extends React.Component{state = {data: this.props.data};componentWillReceiveProps(nextProps) {this.setState({data: nextProps.data});}render () {return (<div>{this.state.data.id}</div>)}
}
复制代码

react中父子组件数据传递,子组件之间的数据传递相关推荐

  1. vue父组件变量传递子组件_Vue2.x中的父组件数据传递至子组件

    父组件结构 template :girls="aGirls"> script import vGirlGroup from './GirlGroup' export defa ...

  2. 一、vue中当数据在父组件需要给子组件传递数据的时候,子组件输出为undefined

    父组件: <Type :imgList="imgList"/> 子组件: <img :src="imgList[0].imgUrl"/> ...

  3. vue 父向子组件传递数据,子组件向父组件传递数据方式

    父组件向子组件传递数据通过props,子组件引入到父组件中,设置一个值等于父组件的数据,通过:bind将数据传到子组件中,子组件中通过props接收父组件的数据,这样就可以使用父组件的数据了,循环组件 ...

  4. vue父组件变量传递子组件_Vue.js 父组件向子组件传递数据通过 props

    我的使用场景:父组件:home.vue 子组件:feed-section.vue 父组件 home.vue 通过请求拿到数据后,传递给子组件 feed-section.vue:因为在子组件中需要渲染 ...

  5. vue请求数据传给子组件_vue.js基础,父组件如何向子组件传递数据「607」

    本文只有一个学习点. 父组件如何向子组件传递数据. 一起学习,更多文章请关注我的头条号,我是落笔承冰. 一.先创建一张空白网页index.html,在head标签里设置好vue的链接库. 二.写一个绑 ...

  6. Vue父组件如何给子组件传递图片属性?为什么父组件传递的图片子组件接收不到?

    之前再写代码的时候,有一个非常大的问题,就是我明明将图片的url传递给了子组件,为什么子组件接收不到呢,图片无法在子组件中显示,今天终于得到了解答. 接收不到值的根本原因就在于图片是静态资源,所以与单 ...

  7. Vue父组件拿到接口的数据,并把数据传给子组件的问题;同时,父组件数据更新,子组件同样拿到新数据的问题

    问题一:父组件向子组件传值,子组件拿到的是空数据. 在vue中,有时需要在父组件页面调用接口时,并把数据传给子组件.一般的做法中,子组件拿不到父组件传过来的值.原因是什么捏??? 原因就是:父组件跟子 ...

  8. React子组件给父组件传值, 父组件引用子组件并给子组件传值

    本博客代码是 React 父组件和子组件相互传值的 demo:实现封装一个折线图,折线图选择下拉框,获取下拉框点击的值并且传给父组件根据下拉框筛选的条件更新视图:效果图如下: 父组件代码: 代码解析: ...

  9. vue组件通信之父组件主动获取子组件数据和方法

    ref 可以用来获取到dom节点,如果在组件中应用,也可以用来获取子组件的数据和方法. 比如,我定义了一个home组件,一个head组件,home组件中引用head组件. 此时,home组件是head ...

最新文章

  1. PHP编实现程动态图像的创建
  2. 编写规范--Web前端开发修炼之道
  3. 【干货】移动APP安全测试要点解析
  4. CentOS 6 安装Hadoop 2.6 (三)问题收集
  5. easyui edatagrid 触发编辑行回掉onEdit
  6. VS2010 教程:创建一个 WPF 应用程序 (第一节)
  7. Windows 8连接*** 691错误解决办法
  8. ECMAScript6 模版字符串
  9. 多线程笔试题(linux)
  10. 把url地址复制到粘贴板上_写个简单的python爬虫爬取堆糖上漂亮的小姐姐
  11. 计算机二级是报office还是vb,请问一下计算机二级中,高阶office好考,还是VB好考?...
  12. php留言板显示不出,php留言板源代码_php留言代码留言后显示乱码
  13. C++ list 函数用法整理
  14. 高度固定 宽度裁剪_ffmpeg 视频裁剪
  15. Python必知必会:Classethod与Staticmethod方法
  16. 自然辩证法 题目2
  17. java word转pdf 在linux转pdf乱码解决方法
  18. JavaWeb 简单实现客户信息管理系统
  19. gradle dependsOn等记录玩转。
  20. C 语言中MDI有什么作用,Qt MDI及其使用方法(详解版)

热门文章

  1. java in查询无法查询到数据(mybatis字符#与字符$的区别)
  2. USTC 1119 graph 图的同构
  3. 5233杨光--第十四周学习总结
  4. 程序-进程-线程 ( 多线程 )
  5. Retrofit的使用教程(二)
  6. 工厂模式和策略模式区别
  7. IE8的css hack
  8. [转] Float或Double浮点型计算精度问题的解决方法
  9. 十、Python-模块
  10. 3个概念,入门 Vue 组件开发