import React from 'react';
class Child extends React.Component {
log() {
console.log('test');
}
render() {
return null;
}
}
class App extends React.Component {
childEl = React.createRef();
componentDidMount() {
this.childEl.current.log();
}
render() {
return <Child ref={this.childEl} />;
}
}
export default App;
import React, {useImperativeHandle} from 'react';
const Child = React.forwardRef((props, ref) => {
useImperativeHandle(ref, () => ({
log: () => {
console.log('test');
}
}));
return null;
});
class App extends React.Component {
childEl = React.createRef();
componentDidMount() {
this.childEl.current.log();
}
render() {
return <Child ref={this.childEl} />;
}
}
export default App;