text: import _ from 'lodash';
  import React, {Component} from 'react';
  import ReactDOM from 'react-dom';
  import YTSearch from 'youtube-api-search';
  import SearchBar from './components/search_bar';
  import VideoList from './components/video_list';
  import VideoDetail from './components/video_detail';
  const API_KEY = 'AIzaSyDejB4BUWmpXoGc4I8tiwz5lpeB48A1KFs';
  
  class App extends Component {
    constructor(props){
      super(props);
      this.state = {
        videos: [],
        selectedVideo: null
      };
      this.videoSearch('React.js')
    }
  
    videoSearch(term) {
      YTSearch({key : API_KEY, term: term}, (videos) => {
        this.setState({
          videos, // this is declared using es6. This literally means this.setState({ videos: videos });
          selectedVideo : videos[0]
         });
      });
    }
  
    render() {
  
      const videoSearch = _.debounce((term) => {this.videoSearch(term)}, 400)
  
  
      return (
        <div>
          <SearchBar onSearchTermChange = { videoSearch } />
          <VideoDetail video = { this.state.selectedVideo } />
          <VideoList
            onVideoSelect = {selectedVideo => this.setState({selectedVideo})}
            videos = { this.state.videos } />
        </div>
      );
    }
  }
  
  
  ReactDOM.render(<App />, document.querySelector('.container'));
  