title: React.js - clean way to differentiate loading/empty states in Render
body: <p>I have my component:</p>
  
  <pre><code>getInitialState() {
      return {
          items: []
      };
  },
  
  componentDidMount() {
      // make remote call to fetch `items`
      this.setState({
          items: itemsFromServer
      })
  },
  
  render(){
      if(!this.state.items.length){
          // show empty state
      }
      // output items
  }
  </code></pre>
  
  <p>Extremely contrived/sandboxed, but this is the general idea. When you first load this component, you see a flash of the "empty state" HTML, as the server hasn't yet returned any data.</p>
  
  <p>Has anyone got an approach/a React Way™ of handling whether there is actually no data vs. showing a loading state?</p>