{"id":5259,"date":"2025-02-26T11:25:54","date_gmt":"2025-02-26T10:25:54","guid":{"rendered":"https:\/\/www.infinity-group.pl\/blog\/?p=5259"},"modified":"2026-02-27T09:57:01","modified_gmt":"2026-02-27T08:57:01","slug":"nowosci-w-react-19","status":"publish","type":"post","link":"https:\/\/www.infinity-group.pl\/blog\/2025\/02\/26\/nowosci-w-react-19\/","title":{"rendered":"Nowo\u015bci w React 19"},"content":{"rendered":"\n<p>React, jeden z najpopularniejszych framework\u00f3w JavaScript do budowy interfejs\u00f3w u\u017cytkownika, stale ewoluuje. Wersja 19 to jedna z najbardziej wyczekiwanych aktualizacji w \u015bwiecie JavaScript. Wprowadza szereg nowo\u015bci i ulepsze\u0144, kt\u00f3re nie tylko usprawniaj\u0105 prac\u0119 programist\u00f3w, ale tak\u017ce<strong> poprawiaj\u0105 wydajno\u015b\u0107 aplikacji i do\u015bwiadczenia u\u017cytkownik\u00f3w.<\/strong> Co to oznacza w praktyce? Szybsze \u0142adowanie stron, bardziej intuicyjne API i prostsze zarz\u0105dzanie stanem aplikacji. W tym artykule przyjrzymy si\u0119 najwa\u017cniejszym zmianom i ich wp\u0142ywowi na codzienn\u0105 prac\u0119 programist\u00f3w oraz firmy korzystaj\u0105ce z Reacta.<\/p><div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Summary<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Prze\u0142\u0105cznik Spisu Tre\u015bci\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/02\/26\/nowosci-w-react-19\/#nowe-hooki-w-react-19\" >Nowe hooki w React 19<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/02\/26\/nowosci-w-react-19\/#latwiejsze-sledzenie-operacji-asynchronicznych-z-useactionstate\" >\u0141atwiejsze \u015bledzenie operacji asynchronicznych z useActionState<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/02\/26\/nowosci-w-react-19\/#natychmiastowa-aktualizacja-ui-dzieki-useoptimistic\" >Natychmiastowa aktualizacja UI dzi\u0119ki useOptimistic<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/02\/26\/nowosci-w-react-19\/#lepsza-obsluga-formularzy-%e2%80%93-useformstatus\" >Lepsza obs\u0142uga formularzy \u2013 useFormStatus<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/02\/26\/nowosci-w-react-19\/#ulatwiona-obsluga-promise-w-komponentach-czyli-use\" >U\u0142atwiona obs\u0142uga Promise w komponentach, czyli use<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/02\/26\/nowosci-w-react-19\/#wprowadzenie-akcji-actions\" >Wprowadzenie akcji (Actions)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/02\/26\/nowosci-w-react-19\/#komponenty-serwerowe-server-components\" >Komponenty serwerowe (Server Components)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/02\/26\/nowosci-w-react-19\/#ulepszenia-w-hydratacji-i-api-kontekstu\" >Ulepszenia w hydratacji i API Kontekstu<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/02\/26\/nowosci-w-react-19\/#hydratacja-na-zadanie\" >Hydratacja na \u017c\u0105danie<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/02\/26\/nowosci-w-react-19\/#udoskonalenia-api-kontekstu\" >Udoskonalenia API Kontekstu<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/02\/26\/nowosci-w-react-19\/#obsluga-metadanych-dokumentu-i-arkuszy-stylow\" >Obs\u0142uga metadanych dokumentu i arkuszy styl\u00f3w<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/02\/26\/nowosci-w-react-19\/#nowe-przestrzenie-kolorow-i-api-dla-css\" >Nowe przestrzenie kolor\u00f3w i API dla CSS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/02\/26\/nowosci-w-react-19\/#aktualizacja-z-react-18-do-react-19\" >Aktualizacja z React 18 do React 19<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/02\/26\/nowosci-w-react-19\/#podsumowanie\" >Podsumowanie<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/02\/26\/nowosci-w-react-19\/#skontaktuj-sie-z-nami\" >Skontaktuj si\u0119 z nami<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"nowe-hooki-w-react-19\"><\/span>Nowe hooki w React 19<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Hooki to funkcje umo\u017cliwiaj\u0105ce korzystanie ze stanu i innych funkcjonalno\u015bci Reacta w komponentach funkcyjnych \u2013 bez u\u017cywania klas. React 19 wprowadza kilka nowych hook\u00f3w, kt\u00f3re <strong>upraszczaj\u0105 zarz\u0105dzanie stanem oraz poprawiaj\u0105 jako\u015b\u0107 kodu.<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"latwiejsze-sledzenie-operacji-asynchronicznych-z-useactionstate\"><\/span>\u0141atwiejsze \u015bledzenie operacji asynchronicznych z useActionState<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Ten hook u\u0142atwia zarz\u0105dzanie stanami akcji asynchronicznych oraz pozwala \u015bledzi\u0107 status operacji, takich jak \u0142adowanie czy obs\u0142uga b\u0142\u0119d\u00f3w, bez konieczno\u015bci pisania z\u0142o\u017conego kodu. Dzi\u0119ki niemu kod obs\u0142uguj\u0105cy stan asynchroniczny jest kr\u00f3tszy i bardziej przejrzysty, a obs\u0142uga b\u0142\u0119d\u00f3w i status\u00f3w \u0142adowania jest w pe\u0142ni zautomatyzowana.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"natychmiastowa-aktualizacja-ui-dzieki-useoptimistic\"><\/span>Natychmiastowa aktualizacja UI dzi\u0119ki useOptimistic<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Hook useOptimistic odpowiada za wdra\u017canie optymistycznych aktualizacji interfejsu u\u017cytkownika, co oznacza natychmiastowe wy\u015bwietlanie zmian w UI \u2013 zanim serwer zwr\u00f3ci odpowied\u017a. Jest to szczeg\u00f3lnie przydatne w aplikacjach wykorzystuj\u0105cych dynamiczne listy danych \u2013 na przyk\u0142ad komentarze czy powiadomienia. Optymistyczne aktualizacje eliminuj\u0105 op\u00f3\u017anienia i sprawiaj\u0105, \u017ce u\u017cytkownicy maj\u0105 \u201ep\u0142ynniejsze\u201d do\u015bwiadczenie.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"lepsza-obsluga-formularzy-%e2%80%93-useformstatus\"><\/span>Lepsza obs\u0142uga formularzy \u2013 useFormStatus<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Zaprojektowany specjalnie z my\u015bl\u0105 o obs\u0142udze formularzy, u\u0142atwia \u015bledzenie statusu przesy\u0142ania danych i obs\u0142ug\u0119 b\u0142\u0119d\u00f3w. Upraszcza walidacj\u0119 i obs\u0142ug\u0119 stan\u00f3w formularza, przez co wdra\u017canie ich w aplikacjach jest znacznie szybsze i \u0142atwiejsze.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"ulatwiona-obsluga-promise-w-komponentach-czyli-use\"><\/span>U\u0142atwiona obs\u0142uga Promise w komponentach, czyli use<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Hook use jest rozszerzeniem funkcjonalno\u015bci Suspense, pozwalaj\u0105cym \u0142atwo obs\u0142ugiwa\u0107 Promise w funkcjonalnych komponentach. Mo\u017ce by\u0107 wykorzystany do odczytu danych z kontekstu lub API, co redukuje ilo\u015b\u0107 kodu niezb\u0119dnego do zarz\u0105dzania operacjami asynchronicznymi.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"wprowadzenie-akcji-actions\"><\/span>Wprowadzenie akcji (Actions)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>React 19 wprowadza nowy mechanizm akcji (Actions), kt\u00f3ry u\u0142atwia aktualizowanie stanu aplikacji za pomoc\u0105 funkcji asynchronicznych. Akcje automatycznie zarz\u0105dzaj\u0105 stanami \u0142adowania i b\u0142\u0119d\u00f3w, obs\u0142uguj\u0105 optymistyczne aktualizacje i oferuj\u0105 intuicyjne API, kt\u00f3re \u0142atwo zintegrowa\u0107 z istniej\u0105cymi programami.<\/p>\n\n\n\n<p>Akcje mog\u0105 by\u0107 wywo\u0142ywane bezpo\u015brednio z komponent\u00f3w, co <strong>zmniejsza potrzeb\u0119 tworzenia z\u0142o\u017conej logiki w kodzie klienckim.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"komponenty-serwerowe-server-components\"><\/span>Komponenty serwerowe (Server Components)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Komponenty serwerowe to kolejna rewolucyjna funkcjonalno\u015b\u0107 przedstawiona w React 19. Pozwalaj\u0105 one renderowa\u0107 cz\u0119\u015b\u0107 interfejsu po stronie serwera, co <strong>znacznie poprawia wydajno\u015b\u0107 aplikacji oraz jej &nbsp;SEO.<\/strong> Korzy\u015bci p\u0142yn\u0105ce z wykorzystania komponent\u00f3w serwerowych to mi\u0119dzy innymi:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>redukcja rozmiaru przesy\u0142anych danych,<\/li>\n\n\n\n<li>szybsze \u0142adowanie strony dla u\u017cytkownik\u00f3w,<\/li>\n\n\n\n<li>\u0142atwiejsza integracja z baz\u0105 danych i API.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"ulepszenia-w-hydratacji-i-api-kontekstu\"><\/span>Ulepszenia w hydratacji i API Kontekstu<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>React 19 przynosi istotne zmiany w mechanizmie hydratacji, co pozwala na jeszcze skuteczniejsze \u0142adowanie aplikacji. Nowe optymalizacje skracaj\u0105 czas inicjalizacji interfejsu, pozytywnie wp\u0142ywaj\u0105c na do\u015bwiadczenia u\u017cytkownika.<\/p>\n\n\n\n<p>Dzi\u0119ki udoskonaleniu API kontekstu mo\u017cliwe jest precyzyjniejsze zarz\u0105dzanie stanem aplikacji oraz redukcja zb\u0119dnych render\u00f3w komponent\u00f3w.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"hydratacja-na-zadanie\"><\/span>Hydratacja na \u017c\u0105danie<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Tradycyjna hydratacja w React polega\u0142a na odtwarzaniu ca\u0142ej struktury komponent\u00f3w &nbsp;po stronie u\u017cytkownika \u2013 w przypadku du\u017cych aplikacji mog\u0142o to powodowa\u0107 op\u00f3\u017anienia w interakcjach z interfejsem. Nowy mechanizm hydratacji umo\u017cliwia stopniowe \u0142adowanie tylko tych cz\u0119\u015bci interfejsu, kt\u00f3re s\u0105 rzeczywi\u015bcie potrzebne w danym momencie, przez co u\u017cytkownik mo\u017ce uzyska\u0107 dost\u0119p do kluczowych funkcji aplikacji szybciej.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"udoskonalenia-api-kontekstu\"><\/span>Udoskonalenia API Kontekstu<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Nowe API Kontekstu w React 19 umo\u017cliwia bardziej granularne zarz\u0105dzanie warto\u015bciami kontekstu, co pozwala precyzyjnie okre\u015bli\u0107, kt\u00f3re komponenty powinny si\u0119 aktualizowa\u0107 przy zmianie warto\u015bci kontekstu. Aplikacje staj\u0105 si\u0119 bardziej responsywne, a programi\u015bci zyskuj\u0105 wi\u0119ksz\u0105 kontrol\u0119 nad optymalizacj\u0105 wydajno\u015bci. Nowe API to tak\u017ce u\u0142atwiona organizacja logiki zarz\u0105dzania stanem, a co za tym idzie \u2013 czytelniejszy i bardziej modularny kod.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"obsluga-metadanych-dokumentu-i-arkuszy-stylow\"><\/span>Obs\u0142uga metadanych dokumentu i arkuszy styl\u00f3w<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>React 19 wprowadza r\u00f3wnie\u017c udogodnienia w zarz\u0105dzaniu metadanymi dokumentu, takimi jak tytu\u0142 strony, meta tagi oraz inne atrybuty wp\u0142ywaj\u0105ce na SEO i dost\u0119pno\u015b\u0107 aplikacji. Teraz mo\u017cna je definiowa\u0107 bezpo\u015brednio w komponentach, <strong>usprawniaj\u0105c zmian\u0119 tre\u015bci w zale\u017cno\u015bci od kontekstu aplikacji.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"nowe-przestrzenie-kolorow-i-api-dla-css\"><\/span>Nowe przestrzenie kolor\u00f3w i API dla CSS<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Ciekawym usprawnieniem w React 19 jest wsparcie dla nowych przestrzeni kolor\u00f3w, takich jak LCH i Lab, pozwalaj\u0105c na uzyskanie bardziej naturalnych przej\u015b\u0107 gradient\u00f3w i lepszej obs\u0142ugi wy\u015bwietlaczy o wysokiej rozdzielczo\u015bci.<\/p>\n\n\n\n<p>Ponadto ulepszono API dla CSS, co u\u0142atwia integracj\u0119 z zewn\u0119trznymi arkuszami styl\u00f3w oraz zarz\u0105dzanie stylami w komponentach. Zmiany te s\u0105 szczeg\u00f3lnie przydatne w aplikacji o z\u0142o\u017conej warstwie wizualnej, gdzie precyzja kolor\u00f3w i ich p\u0142ynne przej\u015bcia maj\u0105 du\u017ce znaczenie dla estetyki interfejsu.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"aktualizacja-z-react-18-do-react-19\"><\/span>Aktualizacja z React 18 do React 19<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Przej\u015bcie z React 18 do React 19 jest stosunkowo proste i dobrze udokumentowane. <strong>Wi\u0119kszo\u015b\u0107 istniej\u0105cych aplikacji b\u0119dzie dzia\u0142a\u0107 bez konieczno\u015bci wprowadzania istotnych zmian w kodzie<\/strong>. Niemniej jednak, aby zapewni\u0107 p\u0142ynne wdro\u017cenie nowej wersji, warto zwr\u00f3ci\u0107 uwag\u0119 na kilka kluczowych aspekt\u00f3w.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sprawdzenie zgodno\u015bci bibliotek zewn\u0119trznych \u2013 warto upewni\u0107 si\u0119, \u017ce wszystkie biblioteki u\u017cywane w projekcie s\u0105 kompatybilne z React 19.<\/li>\n\n\n\n<li>Zaktualizowanie narz\u0119dzi deweloperskich \u2013 narz\u0119dzia takie jak React Developer Tools mog\u0105 wymaga\u0107 uaktualnienia, aby w pe\u0142ni wspiera\u0107 nowe funkcje dost\u0119pne w React 19.<\/li>\n\n\n\n<li>Testowanie komponent\u00f3w serwerowych \u2013 je\u015bli planujesz korzysta\u0107 z komponent\u00f3w serwerowych, przetestuj ich integracj\u0119 z aplikacj\u0105 i sprawd\u017a, jak wp\u0142ywaj\u0105 na wydajno\u015b\u0107 systemu.<\/li>\n\n\n\n<li>Skorzystanie z nowych hook\u00f3w \u2013 nowe hooki takie jak useActionState czy useOptimistic mog\u0105 znacznie upro\u015bci\u0107 kod aplikacji, ale wymagaj\u0105 odpowiedniego zrozumienia ich dzia\u0142ania. Przed ich wdro\u017ceniem warto zapozna\u0107 si\u0119 z dokumentacj\u0105 oraz przeprowadzi\u0107 testy w istniej\u0105cych komponentach.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"podsumowanie\"><\/span>Podsumowanie<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>React 19 to kolejny krok w kierunku bardziej wydajnych, elastycznych i intuicyjnych aplikacji. Wprowadzenie nowych mo\u017cliwo\u015bci, takich jak nowe hooki, komponenty serwerowe oraz ulepszenia w hydratacji, daje programistom jeszcze wi\u0119ksz\u0105 kontrol\u0119 nad struktur\u0105 i optymalizacj\u0105 kodu.<\/p>\n\n\n\n<p>Je\u015bli planujesz aktualizacj\u0119 swojego projektu do React 19, warto zacz\u0105\u0107 od weryfikacji kompatybilno\u015bci bibliotek, aktualizacji narz\u0119dzi i przetestowania kluczowych funkcji. Dzi\u0119ki temu proces migracji przebiegnie p\u0142ynnie i pozwoli w pe\u0142ni wykorzysta\u0107 potencja\u0142 nowej wersji.<\/p>\n\n\n\n<p>Nasi programi\u015bci korzystaj\u0105 z najbardziej zaawansowanych narz\u0119dzi dost\u0119pnych na rynku \u2013 r\u00f3wnie\u017c z React. Je\u015bli chcesz dowiedzie\u0107 si\u0119, jak mo\u017cemy wykorzysta\u0107 React w Twoim obecnym lub przysz\u0142ym projekcie, <strong>skontaktuj si\u0119 z nami przez poni\u017cszy formularz.<\/strong><\/p>\n\n\n\n<div class=\"wp-block-contact-form-7-contact-form-selector\">\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f5-o1\" lang=\"pl-PL\" dir=\"ltr\" data-wpcf7-id=\"5\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/blog\/wp-json\/wp\/v2\/posts\/5259#wpcf7-f5-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Formularz kontaktowy\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"5\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"pl_PL\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f5-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<h2 class=\"form-title\"><span class=\"ez-toc-section\" id=\"skontaktuj-sie-z-nami\"><\/span>Skontaktuj si\u0119 z nami\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<div class=\"form-row\">\n\t<div class=\"form-column\">\n\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"your-name\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Imi\u0119 i nazwisko*\" value=\"\" type=\"text\" name=\"your-name\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n\t<div class=\"form-column\">\n\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"your-company\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Firma*\" value=\"\" type=\"text\" name=\"your-company\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n<\/div>\n<div class=\"form-row\">\n\t<div class=\"form-column\">\n\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"your-email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"E-mail*\" value=\"\" type=\"email\" name=\"your-email\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n\t<div class=\"form-column\">\n\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"phone-number\"><input size=\"40\" maxlength=\"15\" class=\"wpcf7-form-control wpcf7-tel wpcf7-text wpcf7-validates-as-tel\" aria-invalid=\"false\" placeholder=\"Numer telefonu\" value=\"\" type=\"tel\" name=\"phone-number\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n<\/div>\n<p><span class=\"wpcf7-form-control-wrap\" data-name=\"your-message\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea\" aria-invalid=\"false\" placeholder=\"Wiadomo\u015b\u0107\" name=\"your-message\"><\/textarea><\/span>\n<\/p>\n<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"Wy\u015blij\" \/>\n<\/p>\n<div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<p>*Wymagane\n<\/p>\n<p class=\"klauzula-naglowek\">Klauzula informacyjna dotycz\u0105ca przetwarzania danych osobowych:\n<\/p>\n<p>Administratorem Twoich danych osobowych jest Infinity Group Sp. z o.o. z siedzib\u0105 w Bia\u0142ymstoku.<br \/>\nDane podane w formularzu b\u0119d\u0105 przetwarzane w celu udzielenia odpowiedzi na zapytanie (art. 6 ust. 1 lit. f RODO \u2013 prawnie uzasadniony interes administratora polegaj\u0105cy na prowadzeniu korespondencji). Podanie danych jest dobrowolne, ale niezb\u0119dne do udzielenia odpowiedzi. Przys\u0142uguje Ci m.in. prawo sprzeciwu wobec przetwarzania danych oraz prawo wniesienia skargi do Prezesa Urz\u0119du Ochrony Danych Osobowych. Szczeg\u00f3\u0142owe informacje, w tym o odbiorcach danych, okresie przechowywania oraz mo\u017cliwym przekazywaniu danych poza EOG, znajdziesz pod linkiem \u201eInformacje o przetwarzaniu Twoich danych osobowych\u201d.\n<\/p>\n<\/form>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>React, jeden z najpopularniejszych framework\u00f3w JavaScript do budowy interfejs\u00f3w u\u017cytkownika, stale ewoluuje. Wersja 19 to jedna z najbardziej wyczekiwanych aktualizacji w \u015bwiecie JavaScript. Wprowadza szereg nowo\u015bci i ulepsze\u0144, kt\u00f3re nie tylko usprawniaj\u0105 prac\u0119 programist\u00f3w, ale tak\u017ce poprawiaj\u0105 wydajno\u015b\u0107 aplikacji i do\u015bwiadczenia u\u017cytkownik\u00f3w. Co to oznacza w praktyce? Szybsze \u0142adowanie stron, bardziej intuicyjne API i prostsze&#8230;<\/p>\n","protected":false},"author":37,"featured_media":5791,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"class_list":["post-5259","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-web-development"],"_links":{"self":[{"href":"https:\/\/www.infinity-group.pl\/blog\/wp-json\/wp\/v2\/posts\/5259","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.infinity-group.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.infinity-group.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.infinity-group.pl\/blog\/wp-json\/wp\/v2\/users\/37"}],"replies":[{"embeddable":true,"href":"https:\/\/www.infinity-group.pl\/blog\/wp-json\/wp\/v2\/comments?post=5259"}],"version-history":[{"count":4,"href":"https:\/\/www.infinity-group.pl\/blog\/wp-json\/wp\/v2\/posts\/5259\/revisions"}],"predecessor-version":[{"id":5938,"href":"https:\/\/www.infinity-group.pl\/blog\/wp-json\/wp\/v2\/posts\/5259\/revisions\/5938"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.infinity-group.pl\/blog\/wp-json\/wp\/v2\/media\/5791"}],"wp:attachment":[{"href":"https:\/\/www.infinity-group.pl\/blog\/wp-json\/wp\/v2\/media?parent=5259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}