I want to do a real time searching in React. How can I lift the message up from child to parent? Or how can I pass a parent handler to children through props to handle the event?
parent class:
class App extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            activities: activities,
            filteredActivities: activities,
        };
        this.handleSearchChange = this.handleSearchChange.bind(this);
    }
    filterActivity = searchText => {
        return this.state.activities
        .filter(activity => {
            if(activity.content.toLowerCase().includes(
                searchText.toLowerCase())
            ){
                return true;
            }
            return false;
        });
    }
    handleSearchChange = event => {
        this.setState({
            filteredActivities: this.filterActivity(event.target.value)
        });
    };
    render() {
        const filteredActivities = this.props.filteredActivities;
        return(
            <div className="notificationsFrame">
                <div className="panel">
                    <Header name={this.props.name} />
                    <SearchBar onChange={this.handleSearchChange} />
                    <Content activities={this.state.filteredActivities} />
                </div>
            </div>
        );
    }
}
Child class:
class SearchBar extends React.Component {
    onChangeHandler = event => {
        console.log(event.target.value);
    }
    render() {
        return (
            <div className="search-bar" >
                <input type="text" onChange={this.onChangeHandler} />
            </div>
        );
    }
}
I want to pass the event.target.value to handleSearchChange. if I put the code of class Searchbar to class App, I can perform a real time searching very good. But I can't put them into two components. I want to make them into two components. Thanks a lot.
 
     
    