react父子组件传值示例「建议收藏」

react父子组件传值示例「建议收藏」importReactfrom’react’;exportdefaultclassTextextendsReact.Component{//构造函数constructor(props){super(props);this.style={background:’#f00′,color:’#fff’};this.arr=[…

大家好,又见面了,我是你们的朋友全栈君。

import React from 'react';
export default class Text extends React.Component{ 
   
  // 构造函数
  constructor(props){ 
   
    super(props);
    this.style = { 
   background:'#f00',color:'#fff'};
    this.arr = [
      { 
   "name":"zhang","age":34},
      { 
   "name":"li","age":35},
      { 
   "name":"wang","age":14},
      { 
   "name":"zhao","age":24}
    ];
    this.state = { 
   
      num:0,
      b:'2hdlfghsoahf'
    }

  }
  a=1;
  addList(){ 
   
    // 通过循环生成dom
    return this.arr.map((v,i)=>{ 
   
      return (
        // ref 获取真实dom,需要render之后才能获取到
        <li ref={ 
   'li'+i} onClick={ 
   this.handle.bind(this,i)} key={ 
   i}>
          <span>{ 
   v.name}</span>
          <span>{ 
   v.age}</span>
        </li>
      )
    })
  }
  handle(e){ 
   

  }
  change(){ 
   
    this.setState({ 
   
      num:9
    })
  }
  // 渲染
  render(){ 
   
    return(
      <div ref={ 
   'box'} style={ 
   { 
   zIndex:9999999,...this.style,position:'absolute',left:this.props.left||0,top:this.props.top||'0px',fontSize:'40px',width:'100px',height:'100px'}}>
        { 
   /*事件名称小驼峰*/}
        <p onClick={ 
   this.change.bind(this)}>{ 
   this.state.num}</p>
        { 
   
          this.addList()
        }
        <input style={ 
   { 
   position:'absolute',zIndex:999999999999999}} type="text" ref={ 
   'input'}/>
        <button onClick={ 
   this.tarnsform.bind(this)}>请点击</button>
      </div>
    )
  }

  tarnsform(){ 
   
    this.props.onSubmit(this.refs.input.value);
  }

  componentWillMount(){ 
   
    // 组件初始化时候执行
    // 组件即将加载
  }

  componentDidMount(){ 
   
    // ajax
    // 组件初始化时候执行
    // 组件加载完成
    console.log(this.refs.box);
  }
  componentWillUpdate(){ 
   
    // 二次渲染时候执行
    // 组件即将更新
  }
  componentDidUpdate(){ 
   
    // 二次渲染时候执行
    // 组件更新完成
  }
  componentWillUnmount(){ 
   
    // 组件即将卸载
    // 清掉定时器等 内存释放
  }
}

//------------------------------------------------------------------
// <Test/>
{ 
   /*<Test onSubmit={this._click.bind(this)} data={'fdajgofa'} left={'800px'} top={500}/>*/}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145826.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 上位机控制plc输出教程_上位机读取plc

    上位机控制plc输出教程_上位机读取plc图解PLC编程入门可编程逻辑控制器是种专门为在工业环境下应用而设计的数字运算操作电子系统,它采用一种可编程的存储器在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程。PLC的定义可编程序控制器是一种数字运算操作电子系统,专为在工业环境下应用而设计。它采用了可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时…

    2022年9月8日
  • Java内存管理-掌握虚拟机类加载机制(四)

    勿在流沙筑高台,出来混迟早要还的。做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!上一篇介绍了整个JVM运行时的区域,以及简单对比了JDK7和JDK8中JVM运行时区域的一些变化,也顺便总结了哪些区域会发生异常(内存溢出)问题。前一篇的话还是非常重要,请大家务必要多多阅读学习和掌握,因为这些基础的知识点会关联后续的一系列问题内容,如果前面没有先有一定的基础知识储…

    2022年2月28日
  • 大数据开发 岗位需要的知识——写给大数据开发初学者的话

    经常有初学者在博客和QQ问我,自己想往大数据方向发展,该学哪些技术,学习路线是什么样的,觉得大数据很火,就业很好,薪资很高。如果自己很迷茫,为了这些原因想往大数据方向发展,也可以,那么我就想问一下,你的专业是什么,对于计算机/软件,你的兴趣是什么?是计算机专业,对操作系统、硬件、网络、服务器感兴趣?是软件专业,对软件开发、编程、写代码感兴趣?还是数学、统计学专业,对数据和数字特别感兴趣

    2022年4月9日
  • vuetify富文本编辑器_vue富文本编辑器的使用

    vuetify富文本编辑器_vue富文本编辑器的使用最近再弄一个后台管理系统,挑选了不少的编辑器,最终选择了tinymce,UI精美,功能模块多,可按需加载配置来一张tinymce官网的完整功能的图(没梯子可能访问速度有点慢…)下面开始工作:插件安装tinymce官方提供了一个vue的组件tinymce-vue如果有注册或购买过服务的话,直接通过组件配置api-key直接使用,像我这种懒的注册或者购买的直接下载tinymce,自力更生…

    2022年11月2日
  • javascript 数组复制「建议收藏」

    javascript 数组复制「建议收藏」javascript数组复制数组不能直接等于一个数组例如vararr=arr1数组是内置对象,存储的是数组的地址,这样复制就等于复制了地址,更改一个数组的值,另一个也会更改复制方法slice()数组截取vararr=[1,2,3]vararr2=arr.splice();…

    2022年7月14日
  • 序列化和反序列化实现

    1.什么是序列化?程序员在编写应用程序的时候往往需要将程序的某些数据存储在内存中,然后将其写入文件或是将其传输到网络中的另一台计算机上以实现通讯。这个将程序数据转换成能被存储并传输的格式的过程被称

    2021年12月28日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号