zoukankan      html  css  js  c++  java
  • 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属于外来属性

  • 相关阅读:
    stm32 SPI DMA读取ADS8345数据
    Minigui3.0.12完美安装,折腾了一天。终于看到了
    qvfb2的安装,在ubuntu10.4上安装成功
    户口从杭州人才市场迁移到武汉万科魅力之城的过程
    禁止minigui 3.0的屏幕保护
    想穿越回到儿时记录那些幸福
    TIM2定时闪灯程序。。。
    关于minigui的皮肤控件无法显示问题
    插件框架内核的设计
    用“序列图”描述技术方案
  • 原文地址:https://www.cnblogs.com/songdongdong/p/7338131.html
Copyright © 2011-2022 走看看