zoukankan      html  css  js  c++  java
  • React中父子组件传值

    一.首先我们先来看父组件向子组件传值

    1.1 我们要明白父组件 --> 子组件 是通过props这个属性来传值的

    我们来看父组件的代码

     1 import React from 'react'; 
     2 import Son1 from './Son1';
     3 class Father extends React.Component{
     4     constructor(){
     5         super();
     6        
     7     }
     8     render(){
     9         return(
    10             <React.Fragment>
    11                 {/* 我们在这里引入子组件 并声明一个属性str  给他传一个hello */}
    12                 <Son1 str='hello'></Son1>
    13             </React.Fragment>
    14         )
    15     }
    16 
    17 }
    18 export default Father;

    接着看子组件

     1 import React from 'react';
     2 class Son1 extends React.Component{
     3     constructor(){
     4         super()
     5     }
     6 
     7     render(){
     8         return(
     9             <React.Fragment>
    10                 {/* 子组件通过props 这个属性来接受父组件传过来的str */}
    11                 {this.props.str}
    12             </React.Fragment>
    13         )
    14     }
    15 
    16 }
    17 export default Son1;

    页面上就可以得到 hello这个值

    二. 子组件向父组件传值

    在这里我们分为4个步骤

    2.1、在父组件中声明一个函数,用于接收子组件的传值

    2.2、通过组件属性的方法,把函数传递给子组件

    先看父组件的代码

     1 import React from 'react';  
     2 import Son1 from './Son1';
     3 class Father extends React.Component{
     4     constructor(){
     5         super();
     6        
     7     }
     8     // 1、在这里中声明一个函数,用于接收子组件的传值
     9     message(msg){
    10         // 通过形参接受到子组件的值并打印到控制台  
    11         console.log(msg)
    12     }
    13     render(){
    14         return(
    15             <React.Fragment>
    16               {/* 在这里声明一个msg属性,通过组件属性的方法,把函数传递给子组件 */}
    17                 <Son1 msg={this.message}></Son1>
    18             </React.Fragment>
    19         )
    20     }
    21 
    22 }
    23 export default Father;

    2.3、在子组件中通过props属性调用父组件的函数,并通过参数传值

     1 import React from 'react';
     2 class Son1 extends React.Component{
     3     constructor(){
     4         super()
     5     }
     6     render(){
     7         return(
     8             <React.Fragment>
     9             {/* 在子组件中通过props属性调用父组件的函数,并通过参数传值 */}
    10                 {this.props.msg('hello Word')}
    11             </React.Fragment>
    12         )
    13     }
    14 
    15 }
    16 export default Son1;

    2.4、在父组件中的函数通过形参接收子组件的传值

    这样就可以看到控制台打印的效果

  • 相关阅读:
    理解BSTR数据类型 神奇的BSTR
    char *
    _variant_t和_bstr_t
    数据库中创建表(包括创建主键,外键,非空列,唯一)
    使用ADO实现BLOB数据的存取 -- ADO开发实践之二
    sql server 2005 修改动态端口,连接字符串为:需要改成:IP地址+逗号+端口号才行
    Bilateral Filtering(双边滤波) for SSAO
    关于在Arduino中调用DS1302模块
    关于电机驱动扩展板 L293D 马达板Arduino
    Arduino教程资料汇总(8月22日悄悄跟新了一下)
  • 原文地址:https://www.cnblogs.com/z-j-c/p/12071640.html
Copyright © 2011-2022 走看看