Przejdź do treści

26 artykułów o tematyce ReactStrona 2

26 artykułów to nie koniec. Ich ilość ciągle rośnie.

Wyszukiwarka z filtrami w Next.js — searchParams, debounce, URL state i UX

Użytkownik ustawia trzy filtry, znajduje idealny wynik, wysyła link koledze — a tamten widzi pustą wyszukiwarkę. Bo filtry siedziały w useState i zginęły poza jego przeglądarką. URL state rozwiązuje to u źródła: cały stan filtrów żyje w adresie, więc przetrwa odświeżenie, udostępnienie i przycisk „wstecz”, a do tego jest czytelny dla Server Components. Pokazuję, jak zbudować taką wyszukiwarkę — z debounce , skeletonami, walidacją parametrów i SEO.

Maciej Sala

Maciej Sala

Founder StriveLab

Paginacja w Next.js: Offset vs Cursor i Infinite Scroll

Paginacja wydaje się prostym tematem, dopóki nie trzeba pogodzić trzech rzeczy naraz: dobrego UX, wydajności zapytań do bazy i tego, żeby Google poprawnie zaindeksował wszystkie strony. W Next.js App Router wybieramy, czy używamy numerycznej paginacji w URL czy infinite scroll, offset czy cursor po stronie bazy, adres kanoniczny czy notFound dla błędnych adresów. W tym artykule przechodzę przez warianty z kodem i rekomendacjami.

Maciej Sala

Maciej Sala

Founder StriveLab

Vercel AI SDK — streaming chatbot w Next.js w 30 minut

Vercel AI SDK zdejmuje z Twoich barków większość żmudnej roboty przy dodawaniu AI do aplikacji w Next.js. Zapomnij o ręcznym czytaniu i zarządzaniu strumieniem bajtów z API, parsowaniu chunków czy doklejaniu poprzednich wypowiedzi do historii rozmowy. W tym tutorialu zbudujesz działającego, streamującego chatbota w mniej więcej 30 minut — dwa pliki i kilka linii konfiguracji.

Maciej Sala

Maciej Sala

Founder StriveLab

Wydajne animacje Framer Motion w Next.js

Animacje poprawiają UX — dają feedback, prowadzą wzrok i sprawiają, że interfejs czuje się responsywny. Z drugiej strony, nieprawidłowo zaimplementowane animacje mogą znacząco pogorszyć Core Web Vitals. Dodatkowy bundle JS ma negatywny wpływ na LCP, animowanie właściwości layoutowych top , left , width , height może powodować przesunięcia, a skomplikowane kalkulacje per-frame obniżają INP.

Maciej Sala

Maciej Sala

Founder StriveLab

Design System w Next.js od zera: Tailwind, CVA i Radix UI

Ile razy wklejałeś className="bg-blue-600 text-white px-4 py-2 rounded-lg hover:bg-blue-700 do każdego przycisku w projekcie? Gdy zachodziła potrzeba zmiany odcienia niebieskiego, okazywało się, że musisz aktualizować ten sam łańcuch klas w czterdziestu miejscach. System projektowy kończy z tym problemem, bo definiujesz komponent raz, ustalasz jego warianty oraz tokeny, a następnie używasz go w całej aplikacji.

Maciej Sala

Maciej Sala

Founder StriveLab

Route Handlers czy Server Actions? Kiedy co wybrać

App Router daje Ci dwa sposoby na uruchomienie kodu po stronie serwera, poprzez Route Handlers i Server Actions . Może wyglądają podobnie, ponieważ oba działają na serwerze, sięgają do bazy i do zmiennych środowiskowych, ale każdy z nich rozwiązuje zupełnie inny problem. Użycie jednego tam, gdzie pasuje drugi, nie jest odpowiednim rozwiązaniem, ponieważ zły wybór odbija się potem na architekturze.

Maciej Sala

Maciej Sala

Founder StriveLab

Next.js 15 — co nowego i czy warto migrować z 14?

Next.js 15 zacieśnia współpracę z najnowszym React 19, stabilizuje Turbopacka w środowisku deweloperskim i wprowadza eksperymentalne Partial Prerendering . Z perspektywy czasu to jedno z największych tąpnięć od debiutu App Routera w „trzynastce" — i fundament, na którym Next.js 16 dopiął model Cache Components oraz domyślny Turbopack. W tym artykule rozkładam najważniejsze zmiany na czynniki pierwsze i podpowiadam, kiedy migracja z czternastki realnie się opłaca.

Maciej Sala

Maciej Sala

Founder StriveLab

App Router czy Pages Router — co wybrać?

Next.js 13 wprowadził App Router , czyli nowy sposób budowania aplikacji oparty na React Server Components . Ale Pages Router nigdzie nie zniknął. Dwa routery, dwa podejścia, jedna decyzja do podjęcia na starcie projektu.

Maciej Sala

Maciej Sala

Founder StriveLab

Google Ads Remarketing w React – dynamiczne listy odbiorców i personalizacja reklam

Jak wdrożyć remarketing Google Ads w aplikacji React? Dynamiczny remarketing ecommerce, listy odbiorców na podstawie zachowań użytkowników i integracja z listami odbiorców w GA4.

Maciej Sala

Maciej Sala

Founder StriveLab