React中中间组件如何传递props属性


在react中自定义的组件中如果我们想绑上点击click事件时,加上onClick={}并不会起作用。

因为我们自定义的组件,并不是一个真实的DOM元素,它不存在点击事件,因为它不是最终渲染的页面的元素。

这时候我们需要在最底层真实的DOM元素上绑定,如下

<div onClick={this.props.onClick}/>

  如果我们只封装一层这样绑定还好,如果是多层而且多个属性,那每一层都要写大量代码,这时候就可以用{...this.props}

案例 Father——>Middle——>Child

class Child extends React.Component{
    render(){
        return(
            <ul>
                <li>{this.props.name}</li>
                <li>{this.props.age}</li>
                <li>{this.props.sex}</li>
            </ul>
        )
    }
}
class Middle extends React.Component{
    render(){
        return(
            <Child name={this.props.name}
                age={this.props.age}
                sex={this.props.sex}/>
        )
    }
}
// {...this.props}扩展赋值,一一对应
class Father extends React.Component{
    render(){
        return(
            <Middle
            {...this.props}
            />
        )
    }
}

  最后调用Father组件时

<Father name="Jack" age="18" sex="boy"/>

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM