Advertisement
Guest User

Untitled

a guest
Dec 17th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React, { Component } from 'react';
  2. import './App.css';
  3. import UniqueId from 'react-html-id';
  4.  
  5.  
  6.  
  7. class App extends Component {
  8.  
  9.   constructor(props) {
  10.     super(props);
  11.     // UniqueId.bind(this);
  12.     this.state = {
  13.       results: [
  14.         { id: UniqueId.nextUniqueId(), artistName: "Metallica", artistId: 3996865 }
  15.       ],
  16.       searchWord: ""
  17.     }
  18.   }
  19.  
  20.   setSearchWord = (x) => {
  21.     this.setState({ searchWord: x.target.value })
  22.   }
  23.  
  24.  
  25.   getInfo = () => {
  26.     let api_url = `https://itunes.apple.com/search?term=${this.state.searchWord}&entity=musicArtist&limit=10`;
  27.     fetch(api_url)
  28.       .then(res => res.json())
  29.       .then(json => {
  30.         this.setState({ results: json.results });
  31.       })
  32.       .catch(error => console.error(error));
  33.   }
  34.  
  35.   getResults = () => {
  36.  
  37.     let tenArtistsArr = [];
  38.     let items = this.state.results;
  39.  
  40.     for (let i = 0; i < items.length; i++) {
  41.       // console.log(items[i].artistName);
  42.       tenArtistsArr.push(items[i].artistName);
  43.     }
  44.  
  45.     return tenArtistsArr;
  46.  
  47.   }
  48.  
  49.  
  50.   getIDs = () => {
  51.  
  52.     let artistIdArr = [];
  53.     let items = this.state.results;
  54.  
  55.     for (let i = 0; i < items.length; i++) {
  56.       // console.log(items[i].artistId);
  57.       artistIdArr.push(items[i].artistId);
  58.     }
  59.  
  60.     return artistIdArr;
  61.  
  62.   }
  63.  
  64.  
  65.   deleteElements = () => {
  66.  
  67.   }
  68.  
  69.   render() {
  70.  
  71.     const tenArtistsArr = this.getResults();
  72.     const listItems = tenArtistsArr.map((results) => <li>{results}</li>);
  73.  
  74.     return (
  75.       <div className="App">
  76.         <div>
  77.           <input type="text" onChange={this.setSearchWord} placeholder="Search artist" />
  78.           <button onClick={this.getInfo}>Search</button>
  79.           <button onClick={this.deleteElements}>DELETE</button>
  80.  
  81.           <div id="searchResults"></div>
  82.           <ul>{listItems}</ul>
  83.         </div>
  84.       </div>
  85.     )
  86.   }
  87. }
  88.  
  89. export default App;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement