title: Uncaught TypeError: this.updateShelf is not a function
body: <p>So I have a small start React project...</p>
  
  <p>I moved a method from a component into the top App component, now when I call another method within the main app component it says it does not exist, which is very confusing to me.</p>
  
  <pre><code>selectStateUpdate(book,shelf) {
    console.log("Sel"+JSON.stringify(book)+shelf)
    this.updateShelf(book, shelf);
  
  }
  updateShelf = (book, shelf) =&gt; {
    console.log("Updating shelf")
    BooksAPI.update(book, shelf)
    .then(() =&gt; BooksAPI.getAll())
    .then((books) =&gt; {
      this.setState({books})
    })
  }
  </code></pre>
  
  <p>Above you can see that i'm trying to call updateShelf via this.updateShelf.  For full context see <a href="https://github.com/robineyre29/reactnd-project-myreads-starter/blob/master/src/App.js" rel="nofollow noreferrer">App.js</a></p>
  
  <p>When running the project I get following error in console when this function tries to run..</p>
  
  <pre><code>Uncaught TypeError: this.updateShelf is not a function
      at Object.selectStateUpdate [as updateSelect] (App.js:21)
  </code></pre>
  
  <p>For full context project can be viewed <a href="https://github.com/robineyre29/reactnd-project-myreads-starter" rel="nofollow noreferrer">here.</a></p>
  
  <p>Any help much appreciated, or if you need any clarification please ask.</p>