Jammmin cannot search

I at the last steps on this project and when I try to search for a song nothing pops up. I have no clue whats wrong with it. Any help?
Spotify.js

const clientId = '*******';
const redirectUri = 'http://localhost:3000'
let accessToken;

const Spotify = {
    getAccessToken() {
        if (accessToken){
            return accessToken;
        }

        //check for access token match
        const accessTokenMatch = window.location.href.match(/access_token=([^&]*)/);
        const expiresInMatch = window.location.href.match(/expires_in=([^&]*)/);

        if(accessTokenMatch && expiresInMatch) {
            accessToken = accessTokenMatch[1];
            const expiresIn = Number(expiresInMatch[1]);
            //clears params, allowing to grab new access token when it expires
            window.setTimeout(() => accessToken ='', expiresIn * 1000);
            window.history.pushState('Access Token', null, '/');
            return accessToken;
        } else {
            const accessUrl = `https://accounts.spotify.com/authorize?client_id=${clientId}&response_type=token&scope=playlist-modify-public&redirect_uri=${redirectUri}`;
            window.location = accessUrl;
        }
    },

    search(term){
        const accessToken = Spotify.getAccessToken();
        return fetch(`https://api.spotify.com/v1/search?type=track&q=${term}`, {headers: {
            Authorization: `Bearer ${accessToken}`
        }
    }).then(response => {
        return response.json();
    }).then(jsonResponse => {
        if (!jsonResponse.tracks){
            return [];
        } 
        return jsonResponse.tracks.items.map(track => ({
            id: track.id,
            name: track.name,
            artist: track.artist[0].name,
            album: track.album.name,
            uri: track.uri
        }))
    })
    },

    savePlayList(name, trackUris){
        if(!name || !trackUris.length){
            return;
        }

        const accessToken = Spotify.getAccessToken();
        const headers = { Authorization: `Bearer ${accessToken}`};
        let userId;

        return fetch('https://api.spotify.com/v1/me', {headers: headers}
        ).then(response => response.json()
        ).then(jsonResponse => {
            userId = jsonResponse.id;
            return fetch(`https://api.spotify.com/v1/users/${userId}/playlists`, 
            {
                headers: headers,
                method: 'POST',
                body: JSON.stringify({name: name})
            }).then(response => response.json()
            ).then(jsonResponse => {
                const playListId = jsonResponse.id;
                return fetch(`https://api.spotify.com/v1/users/${userId}/playlists/${playListId}/tracks`, {
                headers: headers,
                method: 'POST',
                body: JSON.stringify({uris: trackUris})
                })
            })
        })
    }
}

export default Spotify;

App.js

import React from 'react';
import './App.css';
import SearchBar from "../SearchBar/SearchBar"
import SearchResults from '../SearchResults/SearchResults';
import Playlist from '../Playlist/Playlist';
import Spotify from '../../util/Spotify';

class App extends React.Component {
  constructor(props) {
    super(props);

    this.state = {
      SearchResults: [],
      playListName: 'My Playlist',
      playListTracks: [] 
    };

    this.addTrack= this.addTrack.bind(this);
    this.removeTrack = this.removeTrack.bind(this);
    this.updatePlaylistName = this.updatePlaylistName.bind(this);
    this.savePlaylist = this.savePlaylist.bind(this);
    this.search = this.search.bind(this);
  }

  addTrack(track){
    let tracks = this.state.playListTracks;
    if (tracks.find(savedTrack => savedTrack.id === track.id)){
      return;
    }
    tracks.push(track);
    this.setState({playListTracks: tracks});
  }

  removeTrack(track){
    let tracks = this.state.playListTracks;
    tracks = tracks.filter(current => current.id !== track.id);
    this.setState({playListTracks: tracks});
  }

  updatePlaylistName(name) {
    this.setState({playListName: name});
  }

  savePlaylist(){
    const trackUris = this.state.playListTracks.map(track => track.uri);
    Spotify.savePlayList(this.state.playListName, trackUris).then(()=>{
      this.setState({
        playListName: 'New Playlist',
        playListTracks: []
      })
    })
  }

  search(term){
    Spotify.search(term).then(SearchResults => {
      this.setState({SearchResults: SearchResults})
    })
  }

  render() {
    return (
      <div>
        <h1>Ja<span className="highlight">mmm</span>ing</h1>
          <div className="App">
              <SearchBar onSearch={this.search} />
              <div className="App-playlist">
              <SearchResults SearchResults={this.state.SearchResults} onAdd={this.addTrack} />
              <Playlist playListName={this.state.playListName} playListTracks={this.state.playListTracks} onRemove={this.removeTrack} onNameChange={this.updatePlaylistName} onSave={this.savePlaylist}/>
              </div>
          </div>
      </div>
    )
  }
}

export default App;

SearchBar.js

import React from "react";
import "./SearchBar.css";

class SearchBar extends React.Component {
    constructor(props){
        super(props);
        this.state={
            term: ''
        }
        this.search = this.search.bind(this);
        this.handleTermChange = this.handleTermChange.bind(this);
    }
    search(){
        this.props.onSearch(this.state.term)
    }

    handleTermChange(e){
        this.setState({term: e.target.value})
    }
    render() {
        return (
            <div className="SearchBar">
                <input placeholder="Enter A Song, Album, or Artist" 
                onChange={this.handleTermChange}/>
                <button className="SearchButton" >SEARCH</button>
            </div>
        )
    }
}

export default SearchBar;

If anyone is doing this project and can’t search anything from the api. I found that spotify changed something with their api and therfore the json response we are trying to get was wrong. Instead of artist: track.artist[0].name change it to artist: track.artists.name. This worked for me. And make sure to put onClick={this.search} on the button in SearchBar.js for the button to work because it was not shown in the video.