title: Why does Appbase return 'undefined' before returning the correct item?
body: <p>I am playing around with AppBase.io as a database and I don't understand why this component renders twice after getting an item? It seems as if the AppBase "database" returns <em>undefined</em> first and the <em>correct item</em> afterwards. Does anybody know why? Check out the example, where I get 2 logs.</p>
  
  <p>In this component I need to get an item from the database and render it (nothing special).</p>
  
  <p>Thanks for explaining.</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="true">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>var appbaseRef = new Appbase({
    url: "https://JHtFTzy4H:d083068b-596c-489d-9244-8db2ed316e79@scalr.api.appbase.io",
    app: "winwin"
  });
  
  
  class ItemFull extends React.Component {
    constructor() {
      super();
      this.state = {
        item: ''
      }
    }
  
    componentWillMount() {
      appbaseRef.get({
        type: "items",
        id: 'AWI5K7Q-5Q83Zq9GZnED'
      }).on('data', (response) =&gt; {
        this.setState({
          item: response
        });
  
      }).on('error', function(error) {
        console.log(error)
      })
    }
  
    render() {
      console.log(this.state.item._id, '&lt;-- console_log');
      return (&lt;div&gt;&lt;/div&gt;);
    }
  }
  
  ReactDOM.render(&lt;ItemFull /&gt; , document.getElementById('root'));</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;script src="https://cdnjs.cloudflare.com/ajax/libs/appbase-js/2.2.11/appbase.js"&gt;&lt;/script&gt;
  &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"&gt;&lt;/script&gt;
  &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"&gt;&lt;/script&gt;
  
  &lt;div id="root"&gt;&lt;/div&gt;</code></pre>
  </div>
  </div>
  </p>