react 父子组件之间通讯props


Posted in Javascript onSeptember 08, 2018

实现父子组件双向数据流整体的思路是:

1,父组件可以向子组件传递props,props中带有初始化子组件的数据,还有回调函数

2,子组件的state发生变化时,在子组件的事件处理函数中,手动触发父函数传递进来的回调函数,同时时将子组件的数据传递回去(有时间研究)

父组件

父组件中定义一个函数,包含一个props的参数,函数内利用super(props)传递给子组件,this.state中用于定义本页面中要用到的以及要传递给子组件的变量。

父组件的render函数中利用<Table list={this.state.list}/>此种形式传递给子组件

(ps:此例子中也包含组件之间的嵌套,同时组件的名称开头字母必须大写,不然会报错)

import React from 'react';
import Footer from './footer.js'
import Table from './table.js'

class pagedemo extends React.Component {
 constructor(props) {
  super(props);
  this.state = {
   list: [{
    'id':'1',
    'title':'123',
    'time':'2017',
    'person':'cheny0815',
    'type':'type',
    'operation':'operation'
   },{
    'id':'2',
    'title':'456',
    'time':'2017',
    'person':'cheny0815',
    'type':'type',
    'operation':'operation'
   },{
    'id':'3',
    'title':'789',
    'time':'2017',
    'person':'cheny0815',
    'type':'type',
    'operation':'operation'
   }]
  }
 }
 render() {
  let list = this.state.list;
  return (
   <div className="content">
    <div className="content_main">
      <Table list={list}/> //组件之间的通讯
    </div>
    <Footer /> //组件嵌套
   </div>
  );
 }
}

export default pagedemo;

子组件(table.js)

子组件调用父组个传递过来的参数,并进行传值

import React from 'react';

function table(props) {
 console.log(props);
 return (
  <div className="table_main">
   <table>
     <tbody>
       <tr className="first_tr">
        <td>内容</td>
        <td>发起人</td>
        <td>类型</td>
        <td>时间</td>
        <td>操作</td>
       </tr>
       {
        props.list.map(function(name){ //接受父组件传递过来的值并进行处理
         return (
           <tr key={name.id}>
            <td>{name.title}</td>
            <td>{name.person}</td>
            <td>{name.type}</td>
            <td>{name.time}</td>
            <td>{name.operation}</td>
           </tr>
         )
        })
       }
     </tbody>
   </table>
  </div>
 )
}

export default table;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
Apr 07 Javascript
Javascript浮点数乘积运算出现多位小数的解决方法
Feb 17 Javascript
jQuery 3.0 的变化及使用方法
Feb 01 Javascript
AngularJS directive返回对象属性详解
Mar 28 Javascript
js实现简单的碰壁反弹效果
Aug 30 Javascript
JS获取html元素的标记名实现方法
Oct 08 Javascript
JS分页的实现(同步与异步)
Sep 16 Javascript
妙用缓存调用链实现JS方法的重载
Apr 30 Javascript
JavaScript类的继承操作实例总结
Dec 20 Javascript
node.js中fs文件系统模块的使用方法实例详解
Feb 13 Javascript
js实现删除json中指定的元素
Sep 22 Javascript
Nuxt 嵌套路由nuxt-child组件用法(父子页面组件的传值)
Nov 05 Javascript
js代码规范之Eslint安装与配置详解
Sep 08 #Javascript
vue弹窗插件实战代码
Sep 08 #Javascript
浅谈从React渲染流程分析Diff算法
Sep 08 #Javascript
详解Webpack-dev-server的proxy用法
Sep 08 #Javascript
详解Ubuntu安装angular-cli遇到的坑
Sep 08 #Javascript
JavaScript实现JSON合并操作示例【递归深度合并】
Sep 07 #Javascript
Bootstrap-table使用footerFormatter做统计列功能
Sep 07 #Javascript
You might like
PHP4实际应用经验篇(3)
2006/10/09 PHP
PHP中的string类型使用说明
2010/07/27 PHP
优化php效率,提高php性能的一些方法
2011/03/24 PHP
php数组函数序列之array_sum() - 计算数组元素值之和
2011/10/29 PHP
PHP独立Session数据库存储操作类分享
2014/06/11 PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
2016/03/18 PHP
PHP中CheckBox多选框上传失败的代码写法
2017/02/13 PHP
Yii框架实现记录日志到自定义文件的方法
2017/05/23 PHP
jQuery的实现原理的模拟代码 -5 Ajax
2010/08/07 Javascript
jQuery EasyUI API 中文文档 - Spinner微调器使用
2011/10/21 Javascript
深入分析原生JavaScript事件
2014/12/29 Javascript
JS延时器提示框的应用实例代码解析
2016/04/27 Javascript
javascript数字验证的实例代码(推荐)
2016/08/20 Javascript
写jQuery插件时的注意点
2017/02/20 Javascript
基于打包工具Webpack进行项目开发实例
2018/05/29 Javascript
js for终止循环 跳出多层循环
2018/10/04 Javascript
ng-zorro-antd 入门初体验
2018/12/03 Javascript
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
2018/12/11 jQuery
Python实现把utf-8格式的文件转换成gbk格式的文件
2015/01/22 Python
Python基础教程之正则表达式基本语法以及re模块
2016/03/25 Python
Python的Django框架中消息通知的计数器实现教程
2016/06/13 Python
Python中的heapq模块源码详析
2019/01/08 Python
python列表切片和嵌套列表取值操作详解
2020/02/27 Python
vscode写python时的代码错误提醒和自动格式化的方法
2020/05/07 Python
Python局部变量与全局变量区别原理解析
2020/07/14 Python
Python根据URL地址下载文件并保存至对应目录的实现
2020/11/15 Python
HTML5 贪吃蛇游戏实现思路及源代码
2013/09/03 HTML / CSS
瑞典领先的汽车零部件网上零售商:bildelaronline24.se
2017/01/12 全球购物
澳大利亚波西米亚风情网上商店:Czarina
2019/03/18 全球购物
文史专业毕业生自荐信
2013/11/17 职场文书
公共机构节能宣传周活动总结
2014/07/09 职场文书
反四风对照检查材料
2014/09/22 职场文书
授权收款委托书
2014/09/23 职场文书
高考作弊检讨书1500字
2015/02/16 职场文书
2015年度质量工作总结报告
2015/04/27 职场文书
少年雷锋观后感
2015/06/10 职场文书