src/Parent.tsx:
Output (After Click):
import React, { Component } from "react"; import Child from "./Child"; interface IState { msg: string; } interface IProps {} class Parent extends Component<IProps, IState> { constructor(props: IProps) { super(props); this.state = { msg: "ReactJS", }; } myFun = (data: any): void => { this.setState({ msg: data, }); }; render() { return ( <React.Fragment> <h1>{this.state.msg}</h1> <Child key1={this.myFun}> </Child> </React.Fragment> ); } } export default Parent;src/Child.tsx:
import React, { Component } from "react"; interface IState {} interface IProps { key1: (data: any) => void; } class Child extends Component<IProps, IState> { constructor(props: IProps) { super(props); } render() { return ( <React.Fragment> <button onClick={() => { this.props.key1("ReactJS with TypeScript"); }} > {" "} Change{" "} </button> </React.Fragment> ); } } export default Child;Output (Before Click):
Output (After Click):