Dziś znów krótko… no ale lepszy rydz niż nic! Jeśli jesteś na czasie z nowościami w świecie React, śledzisz Twittera itp., to na pewno zauważyłeś ostatnio spore zamieszane związane z nowym “ficzerem” jaki ma się niebawem pojawić w ramach biblioteki React. Nosi on nazwę React Suspense i mówiąc w skrócie, ma pozwalać na opóźnienie renderowania części aplikacji dopóki nie zostanie spełniony określony warunek.

Zresztą, najlepiej będzie jeśli obejrzysz wystąpienie Dana Abramova na konferencji JSConf Iceland, w którym przedstawił on nowe API:

Moim zdaniem, nic dziwnego, że jest to ostatnio tak gorący temat - React Suspense pozwoli na tworzenie interfejsu użytkownika, ze znacznie lepszym UX. Obecnie standardem jest, że podczas asynchronicznego pobierania danych z serwera (AJAX) pokazywany jest “loader”. Posiadając jednak bardzo szybkie łącze internetowe często zdarza się, że ów “loader” pojawia się tylko na ułamek sekundy… Dzięki opóźnieniu renderowania, na przykład o sekundę, można zwiększyć prawdopodobieństwo, że dane załadują się jeszcze przed pojawieniem się “loadera”.

BTW: ostatnio zaimplementowałem podobne rozwiązanie w projekcie, w którym biorę udział - fajnie, że niedługo będzie ono dostępne “z pudełka”!

P.S.1 Na koniec jeszcze link do przydatnego źródła - na temat React Suspense napisał już Bartosz Szczeciński i moim zdaniem warto zapoznać się z tym artykułem.

P.S.2 Trzeba też dodać, że opisywany “ficzer” jest wciąż w fazie “alfa” i jego ostateczna wersja może się jeszcze zmienić. Nie jest to więc coś, co można już bezpiecznie używać “na produkcji”!