问答

在react的子组件中,如何获取父组件的this

作者:admin 2021-05-06 我要评论

Parent Child config = {toggle: funciton(){console.log(this)}}/Child/Parent 在子组件里 this.props.config.toggle() ,这时在父组件里的this并不指向父组件...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)
<Parent>
    <Child config = {toggle: funciton(){console.log(this)}}></Child>
</Parent>

在子组件里this.props.config.toggle(),这时在父组件里的this并不指向父组件本身,假如改成this.props.config.toggle.bind(this)(),这时的this指向子组件。那应该怎么让这个this指向父组件呢。

###

方法一:可以考虑把父组件的this传给子组件,bind的时候用传递的这个值;
方法二:使用箭头函数

class Parent extends React.Component {
    toggle = () => {
        console.log(this)
    }
    render() {
        return <Child config = {toggle: this.toggle}></Child>
    }
}

子组件使用this.props.config.toggle()调用。

###

在父组件里绑定函数的this

class Parent extends React.Component {
    toggle = () => {
        console.log(this)
    }
    render() {
        return <Child config = {toggle: this.toggle}></Child>
    }
}
###

你可以使用继承, 子组件继承一个父组件, 此时子组件中就有父组件的属性和方法了

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 在react的子组件中,如何获取父组件的t

    在react的子组件中,如何获取父组件的t

  • 关于React高阶组件和ts的问题

    关于React高阶组件和ts的问题

  • 重装系统后安装在其他盘的node.js源文

    重装系统后安装在其他盘的node.js源文

  • 目前系统用户5W,老大让我做架构抗住10

    目前系统用户5W,老大让我做架构抗住10

腾讯云代理商
海外云服务器