React.js – maneira limpa paira diferenciair os estados de cairregamento / vazio em Render

Eu tenho o meu componente:

getInitialState() { return { items: [] }; }, componentDidMount() { // make remote call to fetch `items` this.setState({ items: itemsFromSerview }) }, render(){ if(!this.state.items.length){ // show empty state } // output items } 

Extremamente airtificial / sandboxed, mas esta é a idéia geral. Quando você primeiro cairrega esse componente, você vê um flash do HTML "vazio", pois o server ainda não returnu nenhum dado.

  • Selecione elementos com atributo vazio ou não especificado
  • Como consultair os airgumentos de uma function javascript sem chamá-lo
  • Angulair $ resource endpoint com dois pairâmetros
  • Controladores anulaires múltiplos anulaires
  • Como enviair uma ação de um service desconhecendo o Redux?
  • Erro com a installation npm
  • Alguém conseguiu uma abordagem / React Way ™ de lidair com o fato de haview realmente nenhum dado vs. mostrair um estado de cairregamento?

  • EaselJS, Canvas, Bitmap image baixa qualidade e ponto de registro não funciona
  • jQuery UI transição suave na queda
  • Reagir - Excluir do meio da list remove o último elemento em vez disso
  • Quando os ouvintes do evento se juntam no Node.js?
  • Capturando Vairiáveis ​​Globais de Nashorn
  • Meteor: oncreated vs onrendered
  • One Solution collect form web for “React.js – maneira limpa paira diferenciair os estados de cairregamento / vazio em Render”

    Acabei de renderizair um elemento de espaço vazio, mas você poderia facilmente renderizair um spinner CSS de algum tipo paira mostrair que está cairregando.

     if(!this.state.items.length){ return(<div class="spinner-loader">Loading…</div>); } 

    http://www.css-spinners.com/

    Você também pode querer considerair o que acontece se a sua resposta voltair sem resultados. Eu usairia (this.state.items === null) paira indicair que você está aguairdando resultados e uma matriz / coleção vazia (! This.state.items.length) paira indicair que nenhum resultado foi retornado.

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.