I am new to working with React.js, trying to make a filter, but I ran into a number of problems, I will be grateful if you can tell me how to do it. There is a main component of Speakers.js in which I get json and then send it to the internal List and Filter components. I list the entire list of speakers in the List (which comes in Json). In Filter, when you enter the name or address field and then when you click on the search button, a search should occur. 
Speakers.js
import React, {Component} from 'react'; import Filters from './Filters'; import List from './List'; class Speakers extends Component { constructor(props) { super(props); this.state = { isLoading: false, items: [] } } componentDidMount() { this.setState({isLoading: true}); fetch("https://randomapi.com/api/6de6abfedb24f889e0b5f675edc50deb?fmt=raw&sole") .then(res => res.json()) .then( (result) => { this.setState({ items: result, isLoading: false }); console.log(result); } ) .catch(error => this.setState({ error, isLoading: false })); } render() { return ( <div className="speakers"> <div className="container-fluid"> <Filters getItems={this.state} /> <List getItems={this.state} /> </div> </div> ); } } export default Speakers; List.js
import React, {Component} from 'react'; class List extends Component { render() { const {items, isLoading} = this.props.getItems; if (isLoading) { return <p>Loading ...</p>; } return ( <div className="speakers__list"> <div className="row"> {items.map((item, index) => ( <div className="col-md-3" key={index}> <div className="card form-group shadow"> <div className="card-body text-center"> <h5 className="card-title">{item.first} {item.last}</h5> <p>{item.email}</p> <p>{item.address}</p> <p>{item.balance}</p> <p>{item.created}</p> </div> </div> </div> ))} </div> </div> ) } } export default List; Filters.js
import React, {Component} from 'react'; class Filters extends Component { render() { return ( <div className="filters"> <div className="alert shadow"> <form> <div className="container-fluid"> <div className="row"> <div className="col-md-5"> <label>Name/Surname</label> <input type="text" className="form-control" /> </div> <div className="col-md-5"> <label>Address</label> <input type="text" className="form-control"/> </div> <div className="col-md-2 align-self-center text-center"> <button className="btn btn-primary">Search</button> </div> </div> </div> </form> </div> </div> ); } } export default Filters;