在react中,将某段代码封装成一个组件,而这个组件又在另一个组件中引入,那么引入该封装的组件的文件叫做父组件,被引入的组件就叫做子组件。
本文操作环境:windows10系统、react16、thinkpad t480电脑。
推荐:《react视频教程》
有时候我们经常分不清什么是父组件,什么又是子组件。现在来简单说下:我们将某段代码封装成一个组件,而这个组件又在另一个组件中引入,而引入该封装的组件的文件叫做父组件,被引入的组件叫做子组件。
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> } }
以上是react中什么叫子组件的详细内容。更多信息请关注PHP中文网其他相关文章!