zoukankan      html  css  js  c++  java
  • (十)React的子传父 及 优化编写

    (十)React的子传父 及 优化编写

    子传父:

    其实就是事件回传,在父传子的基础上 将传递的参数改为函数体 子组件在props上进行数据的回传

    //引用子组件
    <child getData={ this.getData} />
    getData = (value)=>{
        console.log(value)
    }
    //父组件 
    this.props.getData('回传的值')
    

    修改对象值的方式

    const { objData } =  this.state
    obj.map( (item) = > {
       if ( item.id === '1' ){
        return { ...item, a:'1' }   //什么意思呢  就是你在获取到对象之后的时候你需要进行状态的修改  {...objData} 的运算符  可以进行赋值 在a:'1' 可以修改的其中的值
       }
    )
    

    修改数组的方式

    const { arreyData } = this.state
    const newData = [...arreyData , Objdata]
    this,setState({arreyData, newData})
    

    对数组进行条件统计的reduce

    reduce( ) 能穿两个参数 第一个是一个函数 ,第二个是从几开始 (初始值)
    const doneCount = tools.reduce((prev, item) =>{return prev + (item.done ? 1 : 0) },0)
    函数本身能传两个参数 第一个就是 pre 之前的值 (上一次的返回值) item(对谁进行遍历 就是一个一个的对象) (十)React的子传父 及 优化编写

    子传父:

    其实就是事件回传,在父传子的基础上 将传递的参数改为函数体 子组件在props上进行数据的回传

    //引用子组件
    <child getData={ this.getData} />
    getData = (value)=>{
        console.log(value)
    }
    //父组件 
    this.props.getData('回传的值')
    

    修改对象值的方式

    const { objData } =  this.state
    obj.map( (item) = > {
       if ( item.id === '1' ){
        return { ...item, a:'1' }   //什么意思呢  就是你在获取到对象之后的时候你需要进行状态的修改  {...objData} 的运算符  可以进行赋值 在a:'1' 可以修改的其中的值
       }
    )
    

    修改数组的方式

    const { arreyData } = this.state
    const newData = [...arreyData , Objdata]
    this,setState({arreyData, newData})
    

    对数组进行条件统计的reduce

    reduce( ) 能穿两个参数 第一个是一个函数 ,第二个是从几开始 (初始值)
    const doneCount = tools.reduce((prev, item) =>{return prev + (item.done ? 1 : 0) },0)
    函数本身能传两个参数 第一个就是 pre 之前的值 (上一次的返回值) item(对谁进行遍历 就是一个一个的对象)

    咫尺远近却无法靠近的那个你,才敢让你发觉你并不孤寂
  • 相关阅读:
    各浏览器都支持的渐变
    ajax get 和 post
    jQuery给input绑定回车事件
    Thinkpad BIOS里的五个选项设置介绍(转)
    对象的比较与排序(一):类型比较和值比较(转)
    C# 压缩Access数据库(转)
    Firefox 删除插件
    Python进制转换(二进制、十进制和十六进制)
    程序在他人电脑上报缺失msvcr100d.dll 处理(转)
    DataGridView实现双缓冲(转)
  • 原文地址:https://www.cnblogs.com/tcz1018/p/15433638.html
Copyright © 2011-2022 走看看