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 相关文章推荐
Javascript中call与apply的学习笔记
Sep 22 Javascript
JavaScript+canvas实现七色板效果实例
Feb 18 Javascript
jQuery实现简单滚动动画效果
Apr 07 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
Apr 28 Javascript
DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等)
Nov 09 Javascript
原生js实现无缝轮播图效果
Jan 11 Javascript
微信小程序支付及退款流程详解
Nov 30 Javascript
详解js实时获取并显示当前时间的方法
May 10 Javascript
javascript实现fetch请求返回的统一拦截
Dec 22 Javascript
使用konva和vue-konva库实现拖拽滑块验证功能
Apr 27 Javascript
js+css实现全屏侧边栏
Jun 16 Javascript
vue+高德地图实现地图搜索及点击定位操作
Sep 09 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
关于Appserv无法打开localhost问题的解决方法
2009/10/16 PHP
php radio 单选框获取与保持值的实现代码
2010/05/15 PHP
PHP实现的通过参数生成MYSQL语句类完整实例
2016/04/11 PHP
php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)
2017/06/11 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
javascript中用星号表示预录入内容的实现代码
2011/01/08 Javascript
浅析JavaScript中的typeof运算符
2013/11/30 Javascript
JavaScript中实现异步编程模式的4种方法
2014/09/24 Javascript
JavaScript对表格或元素按文本,数字或日期排序的方法
2015/05/26 Javascript
JS实现横向与竖向两个选项卡Tab联动的方法
2015/09/27 Javascript
jQuery实现Email邮箱地址自动补全功能代码
2015/11/03 Javascript
AngularJS 指令详细介绍
2016/07/27 Javascript
JavaScript-html标题滚动效果的简单实现
2016/09/08 Javascript
JavaScript实现经典排序算法之冒泡排序
2016/12/28 Javascript
JavaScript 中调用 Kotlin 方法实例详解
2017/06/09 Javascript
基于BootStrap实现简洁注册界面
2017/07/20 Javascript
Vue-cli中为单独页面设置背景色的实现方法
2018/02/11 Javascript
浅谈ECMAScript 中的Array类型
2019/06/10 Javascript
Vue.js数字输入框组件使用方法详解
2019/10/19 Javascript
[48:22]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python谱减法语音降噪实例
2019/12/18 Python
python统计函数库scipy.stats的用法解析
2020/02/25 Python
Python编程快速上手——选择性拷贝操作案例分析
2020/02/28 Python
CSS3 按钮边框动画的实现
2020/11/12 HTML / CSS
活动志愿者自荐信
2014/01/27 职场文书
趣味游戏活动方案
2014/02/07 职场文书
党员批评与自我批评
2014/02/12 职场文书
写求职信要注意什么问题
2014/04/12 职场文书
2014优秀大学生简历自我评价
2014/09/15 职场文书
小浪底导游词
2015/02/12 职场文书
超市督导岗位职责
2015/04/10 职场文书
2015年学校教育教学工作总结
2015/04/22 职场文书
十月围城观后感
2015/06/08 职场文书
食品安全主题班会
2015/08/13 职场文书
2016年“6.26”禁毒宣传月系列活动总结
2016/04/05 职场文书
员工工作失职检讨书范文!
2019/07/03 职场文书