react 父组件如何拿到子组件的方法
时间: 2023-10-13 07:18:43 浏览: 112
在React中,父组件可以通过使用Refs来访问子组件的方法。下面是一个示例:
```jsx
// 子组件
class ChildComponent extends React.Component {
childMethod() {
console.log("子组件方法被调用");
}
render() {
return <div>子组件</div>;
}
}
// 父组件
class ParentComponent extends React.Component {
constructor(props) {
super(props);
this.childRef = React.createRef();
}
handleClick() {
this.childRef.current.childMethod(); // 调用子组件的方法
}
render() {
return (
<div>
<ChildComponent ref={this.childRef} />
<button onClick={() => this.handleClick()}>调用子组件方法</button>
</div>
);
}
}
```
在父组件中,我们通过`React.createRef()`创建了一个引用`childRef`。然后,在子组件`ChildComponent`的实例上通过将`ref={this.childRef}`属性传递给子组件,将子组件的引用存储在`childRef`中。
接下来,在父组件的`handleClick`方法中,我们可以通过`this.childRef.current`访问子组件的实例,并调用其方法(例如`childMethod()`)。
这样,父组件就可以通过Refs来拿到子组件的方法了。请注意,在使用Refs时要确保子组件已经被挂载到DOM中,才能正确访问其方法。
阅读全文