O React 16.6 introduz a capacidade de suspender (Suspense) a renderização e exibir um indicador de carregamento enquanto espera por algo como dados de uma chamada da API.
Em casos simples o React Suspense elimina a necessidade do Redux , como explica Ryan Florence, especialista em React:
Se o seu caso de uso primário do Redux é usá-lo como um cache para o client-side e de dados do server-side, então o Suspense pode substituir o seu uso. Eu consideraria isso porque você teria um código mais simples e a capacidade de controlar todos esses giros.
Para um gerenciamento de estado mais complexo, como a sincronização com uma API e um localStorage, a abordagem com o Redux será melhor do que o Suspense.
Bartosz Szczeciński, desenvolvedor de software da GFT Poland, prevê que o Suspense terá um impacto significativo no uso do React:
Provavelmente, veremos muitas bibliotecas sendo pioneiras na solução e teremos que ajustar nossas melhores práticas (como chamar solicitações AJAX dentro de renderização será OK), mas acredito que isso permitirá criar aplicativos e experiência ainda melhores para os usuários!
A versão 16.6 do React inclui apenas um caso de uso para o Suspense, o carregamento lento de componentes com React.lazy()
e <React.Suspense>
. A abordagem do React para otimização com code-splitting e Suspense é documentada no guia React Code Splitting.
Além do code-splitting, a equipe do React planeja adicionar recursos adicionais no Suspense, incluindo a manipulação da busca e integração de dados com as bibliotecas GraphQL.
O suporte de renderização do lado do servidor para o Suspense está planejado para 2019.
React é um software de código aberto disponível sob a licença MIT. Contribuições e feedback são incentivados através do projeto React GitHub e devem seguir as diretrizes de contribuição React e código de conduta de código aberto do Facebook.