• react----父子组件之间的参数传递


    1.父组件向子组件传递参数

     1 //父组件
     2 import React from 'react';
     3 import './header.css'
     4 import ComponentChild from './headerChild'
     5 class ComponentHeader extends React.Component {
     6   constructor () {
     7     super()
     8     this.state = {
     9       username: 'Song',
    10       age: 18
    11     }
    12   }
    13   render () {
    14     return (
    15       <div>
    16         <ComponentChild name="dongdong"/>//子组件
    17         <p>这是一个测试组件</p>
    18         <p>{this.state.age}</p>
    19       </div>   
    20     )
    21   }
    22 }
    23 export default ComponentHeader
    24 
    25 //子组件
    26 import React from 'react'
    27 class ComponentChild extends React.Component {  
    28   render () {
    29     return (
    30       <div>
    31         <p>{this.props.name}</p>//通过this.props.key来过去父组件传递过来的数据
    32       </div>
    33     )
    34   }
    35 }
    36 export default ComponentChild

    2.子组件向父组件传递参数

     1 //子组件
     2 import React from 'react'
     3 class ComponentChild extends React.Component {  
     4   render () {
     5     return (
     6       <div>
     7         <button>点击测试:<input type="text" onChange={this.props.handleChange}/></button>//通过函数的形式将参数传递给父组件
     8         <p>{this.props.name}</p>
     9       </div>
    10     )
    11   }
    12 }
    13 export default ComponentChild
    14 
    15 //父组件
    16 import React from 'react';
    17 import './header.css'
    18 import ComponentChild from './headerChild'
    19 class ComponentHeader extends React.Component {
    20   constructor () {
    21     super()
    22     this.state = {
    23       username: 'Song',
    24       age: 18
    25     }
    26   }
    27   handleChange (event) { // 这个函数是可以用来获取子组件传递过来的数据
    28     this.setState({age:event.target.value})//使用setState将子组件传递过来的值,设置给父组件中的state
    29   }
    30   render () {
    31     return (
    32       <div>
    33         <ComponentChild handleChange={this.handleChange.bind(this)} name="dongdong"/> //这里注意一定要使用bind(this)改变this的指向,否则会报错,显示找不到this
    34         <p>这是一个测试组件</p>
    35         <p>{this.state.age}</p>
    36       </div>   
    37     )
    38   }
    39 }
    40 export default ComponentHeader

     这里面注意一点,state是属于组件的私有属性的,props属于外来属性

  • 相关阅读:
    【转】 DFT小讲座之2_DFT@芯片开发不同阶段
    【转】 DFT小讲座之1_扫盲!DFT到底是什么?
    MIPI接口与FPGA电平匹配问题
    ZCU102之display
    Vivado将模块封装为IP的方法(网表文件)【转】
    YUV格式总结【转】
    MPSOC之7——开发流程uramdisk
    MPSOC之2——ubuntu环境配置及petalinux安装
    MPSOC之3——centos环境配置及petalinux安装及使用
    2018软工实践—Beta冲刺(7)
  • 原文地址:https://www.cnblogs.com/songdongdong/p/7338131.html
Copyright © 2020-2023  润新知