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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MySQL中文参考手册

    MySQL中文参考手册

    2021年6月19日
  • 博弈论作者翟文明_伟大的博弈读书心得

    博弈论作者翟文明_伟大的博弈读书心得建议复制后观看古语有云:“世事如棋。”生活中的每个人如同棋手,其每一个行为如同在一张看不见的棋盘上布一个子,精明慎重的棋手们相互揣摩、相互牵制,人人争赢,下出诸多精彩纷呈现出来。博弈论的伟大之处正在于其通过规则、身份、信息、行动、效用、平衡等各种量化概念对人情世事进行了精妙的分析,清晰地揭示了当下社会中们的各种互动行为、互动关系,为人们正确决策提供了指导。第一章博弈论入门1.囚徒困境。缺乏信息交流,都是选对己优势策略,结果并不是系统最优。2.博弈四要素: 1)至少两个参与者。制定决策与对

    2022年10月10日
  • 跳过谷歌验证码_如何获取游戏验证码

    跳过谷歌验证码_如何获取游戏验证码本月底,谷歌Google即将停止全球图片验证码服务,这个困扰我们多年的验证码终于要退出历史的舞台了。官方宣告可以看以下截图:想必验证码的发展史已经众所周知了,从2002年到如今,经过了16年的发展,

    2022年8月1日
  • excel如何去掉换行符号_去掉文本中所有换行符

    excel如何去掉换行符号_去掉文本中所有换行符excel中添加换行符::alt+enter去掉excel中的换行符有三种方法:注:解决过程中翻阅其他博客,看到如下方式:1、看到有的说全选后“取消自动换行”,保存后,再打开,依然存在换行符

    2022年8月4日
  • java解析url的链接和参数_java根据url下载图片

    java解析url的链接和参数_java根据url下载图片方法一Blob和FileReader对象实现原理:使用xhr请求图片,并设置返回的文件类型为Blob对象[xhr.responseType=“blob”],使用FileReader对象接收blob。getBase64(“https://fastmarket.oss-cn-shenzhen.aliyuncs.com/oss/static/other/1/images/baseMap_index.jpg”)//链接是你的网络图片functiongetBase64(imgUrl){

    2022年9月2日
  • 股票模拟交易_股市v型反转

    股票模拟交易_股市v型反转给定一个长度为 N 的数组,数组中的第 i 个数字表示一个给定股票在第 i 天的价格。设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。输入格式第一行包含整数 N,表示数组长度。第二行包含 N 个不超过 10000 的正整数,表示完整的数组。输出格式输出一个整数,表示最大利润。数据范围1≤N≤105输入样例:51

    2022年8月9日

发表回复

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

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