zoukankan      html  css  js  c++  java
  • react中直接调用子组件的方法(非props方式)

    我们都知道在 react中,若要在父组件调用子组件的方法,通常我们会采用在父组件定义一个方法,作为props转给子组件,然后执行该方法,可以获取到子组件传回的参数以得到我们的目的。

    显而易见,这个执行是需要去主动触发的。

    那有没有一种方式,方法在子组件定义好,可以直接在父组件去调用呢?

    答案是必然的。

    上代码^ - ^

    import React, {Component} from "react";
    import { Button } from "antd";
    
    //父组件
    export default class Parent extends Component {
        render() {
            return(
                <div>
              <p>这是父组件</p>
                    <Child triggerRef={this.bindRef} />
                    <Button type="primary" onClick={this.btnClick} >click</Button>
                </div>
            )
        }
    
        bindRef = ref => { this.child = ref }
    
        btnClick = () => {
            this.child.getValuefromChild()
        }
    
    }
    //子组件
    class Child extends Component {
        componentDidMount(){
            this.props.triggerRef(this)
        }
      //这是子组件的方法
        getValuefromChild = () => console.log("this is child value.")
    
        render() {
            return <div>这是子组件</div>
        }
    }

    是不是瞬间就风清月朗了~~

  • 相关阅读:
    day4-1
    day3-1
    day1-3
    day2-1
    day1-2
    day1 1
    对象的高度整合
    类和数据类型
    对象的绑定方法
    python总结
  • 原文地址:https://www.cnblogs.com/zyl-Tara/p/9603907.html
Copyright © 2011-2022 走看看