• react组件通信props属性传递


    props属性传递

            React中组件的属性传递机制,由父组件传递给子组件,不能跨级传递。当有多个组件嵌套时,从最外层的祖先组件的props开始,依次向其后代组件传递props。

             本例组件嵌套顺序:Person——》Adult——》Child,写代码的时候先写内层组件

             body部分代码:

             <body> <!-- 由父元素的属性,传递给子元素。即祖先元素的属性依次传递给后代元素的属性 --> <div id="ele"></div> </body>

             注意script标签的type要设置为type=“text/babel”,以解析JSX

           (1) Child组件,里面放入三个p标签,显示name,age,sex

    class Child extends React.Component{
    render(){
    return(
    <div>
    <p>{this.props.name}</p>
    <p>{this.props.age}</p>
    <p>{this.props.sex}</p>
    </div>
    )
    }
    }

    (2)Adult组件

    class Adult extends React.Component{
    render(){
    return(
    <Child name={this.props.name}
    age={this.props.age}
    sex={this.props.sex}/>
    )
    }
    }

    (3)Person组件,和Adult组件类似,这里使用了扩展运算符,可以将属性一一对应起来。

    // {...this.props}扩展赋值,一一对应
    class Person extends React.Component{
    render(){
    return(
    <Adult
    {...this.props}
    />
    )
    }
    }

    <script type="text/babel">
    class Child extends React.Component{
    render(){
    return(
    <div>
    <p>{this.props.name}</p>
    <p>{this.props.age}</p>
    <p>{this.props.sex}</p>
    </div>
    )
    }
    }
    class Adult extends React.Component{
    render(){
    return(
    <Child name={this.props.name}
    age={this.props.age}
    sex={this.props.sex}/>
    )
    }
    }
    // {...this.props}扩展赋值,一一对应
    class Person extends React.Component{
    render(){
    return(
    <Adult
    {...this.props}
    />
    )
    }
    }
    //传参
    ReactDOM.render(<Person name="Lily" age="12" sex="female"/>,document.getElementById("ele"))

  • 相关阅读:
    nyoj-115-城市平乱(dijkstra算法)
    如何在大学里脱颖而出(其二)
    P6880-[JOI 2020 Final]オリンピックバス【最短路】
    P6847-[CEOI2019]Magic Tree【dp,线段树合并】
    P6800-[模板]Chirp Z-Transform【NTT】
    P5470-[NOI2019]序列【模拟费用流】
    P6563-[SBCOI2020]一直在你身旁【dp,单调队列】
    CF587F-Duff is Mad【AC自动机,根号分治】
    P7405-[JOI 2021 Final]雪玉【二分】
    互斥锁,IPC队列
  • 原文地址:https://www.cnblogs.com/zhouyideboke/p/12598301.html
Copyright © 2020-2023  润新知