Wzorzec Render Props
Przekazywanie funkcji jako propsa, która zwraca JSX, aby współdzielić zachowanie bez ścisłego powiązania z interfejsem.
Wzorzec Render Props to bezpłatna lekcja React Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej React Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs React Academy zawiera 4 lekcji w sumie.
Witamy
Czym są render props?
<DataProvider render={data => <UserCard user={data} />} />Prosty przykład render props
function Toggle({ render }) {
const [on, setOn] = useState(false);
return render(on, () => setOn(!on));
}
<Toggle render={(on, toggle) => (
<button onClick={toggle}>{on ? 'Close' : 'Open'}</button>
)} />Używanie children jako render prop
<Toggle>
{(on, toggle) => (
<div>
{on && <Panel />}
<button onClick={toggle}>Toggle</button>
</div>
)}
</Toggle>Śledzenie pozycji myszy
function MouseTracker({ children }) {
const [pos, setPos] = useState({ x: 0, y: 0 });
return (
<div onMouseMove={e => setPos({ x: e.clientX, y: e.clientY })}>
{children(pos)}
</div>
);
}Render props a custom hooks
// Old: render props
<Mouse render={pos => <p>{pos.x}</p>} />
// Modern: custom hook
const pos = useMouse();
<p>{pos.x}</p>Kiedy render props nadal mają sens
Ostrzeżenie dotyczące wydajności
// Avoid: new function every render
<Toggle render={pos => <Dot pos={pos} />} />
// Better: stable reference
const renderDot = pos => <Dot pos={pos} />;
<Toggle render={renderDot} />Komponowanie render props
Render props w bibliotekach
Szybkie sprawdzenie
Podsumowanie
Następny temat
Często zadawane pytania
Czy lekcja „Wzorzec Render Props” jest bezpłatna?
Tak — pełny tekst „Wzorzec Render Props” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu React Academy, przejdź na CoddyKit PRO. Kurs React Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Wzorzec Render Props”?
Przekazywanie funkcji jako propsa, która zwraca JSX, aby współdzielić zachowanie bez ścisłego powiązania z interfejsem. Ćwiczysz React Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć React Academy?
Nie wymagamy żadnego doświadczenia. React Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Wzorzec Render Props”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji React Academy?
Tak. Każda lekcja React Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Wzorzec Render Props
- Komponenty wyższego rzędu (HOC) — wyjaśnienie
- HOC a Render Props i Custom Hooks
- Refaktoryzacja HOC do Custom Hooka