Higher-Order Components (HOCs) förklarade
Omslut komponenter för att injicera props, skydda routes eller lägga till loggning via HOC-fabriker.
Higher-Order Components (HOCs) förklarade är en gratis lektion i React Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för React Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i React Academy innehåller totalt 4 lektioner.
Välkommen
Vad är en HOC?
// HOC signature
function withEnhancement(WrappedComponent) {
return function Enhanced(props) {
// add behaviour here
return <WrappedComponent {...props} extraProp="value" />;
};
}HOC för autentiseringsskydd
function withAuth(Component) {
return function AuthGuard(props) {
const isLoggedIn = useAuth();
if (!isLoggedIn) return <Navigate to="/login" />;
return <Component {...props} />;
};
}
const ProtectedPage = withAuth(DashboardPage);HOC för loggning
function withLogger(Component) {
return function Logged(props) {
console.log('[render]', Component.displayName, props);
return <Component {...props} />;
};
}Skicka vidare props
return function HOC(props) {
return <WrappedComponent {...props} injectedProp={value} />;
};Ange displayName
function withAuth(Component) {
function AuthGuard(props) { /* ... */ }
AuthGuard.displayName = 'withAuth(' + (Component.displayName || Component.name) + ')';
return AuthGuard;
}Vidarebefordra refs
function withStyle(Component) {
return React.forwardRef(function (props, ref) {
return <Component ref={ref} {...props} className="styled" />;
});
}HOC jämfört med render props och hooks
Wrapper-kaos
HOC:er i praktiken
Snabbkontroll
Sammanfattning
Nästa steg
Lär dig React med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 88
- Lektioner
- 324
Vanliga frågor
Är lektionen ”Higher-Order Components (HOCs) förklarade” gratis?
Ja – hela texten till ”Higher-Order Components (HOCs) förklarade” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i React Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i React Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Higher-Order Components (HOCs) förklarade”?
Omslut komponenter för att injicera props, skydda routes eller lägga till loggning via HOC-fabriker. Ni övar på React Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig React Academy?
Du behöver inga förkunskaper. Utbildningen i React Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Higher-Order Components (HOCs) förklarade”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här React Academy-lektionen?
Ja. Varje React Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Mönstret render props
- Higher-Order Components (HOCs) förklarade
- HOC jämfört med render props och custom hooks
- Refaktorera en HOC till en custom hook