Higher-Order Components(HOC)の基礎
HOC factoryを使ってコンポーネントをラップし、propsの注入、ルートの保護、ログ機能の追加を行います。
「Higher-Order Components(HOC)の基礎」はCoddyKit上の無料React Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはReact Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 React Academyコースには全4レッスンが含まれています。
ようこそ
HOCとは
// HOC signature
function withEnhancement(WrappedComponent) {
return function Enhanced(props) {
// add behaviour here
return <WrappedComponent {...props} extraProp="value" />;
};
}認証ガードHOC
function withAuth(Component) {
return function AuthGuard(props) {
const isLoggedIn = useAuth();
if (!isLoggedIn) return <Navigate to="/login" />;
return <Component {...props} />;
};
}
const ProtectedPage = withAuth(DashboardPage);ロギングHOC
function withLogger(Component) {
return function Logged(props) {
console.log('[render]', Component.displayName, props);
return <Component {...props} />;
};
}Propの受け渡し
return function HOC(props) {
return <WrappedComponent {...props} injectedProp={value} />;
};displayNameの設定
function withAuth(Component) {
function AuthGuard(props) { /* ... */ }
AuthGuard.displayName = 'withAuth(' + (Component.displayName || Component.name) + ')';
return AuthGuard;
}Refのフォワーディング
function withStyle(Component) {
return React.forwardRef(function (props, ref) {
return <Component ref={ref} {...props} className="styled" />;
});
}HOC、Render Props、フックの比較
ラッパー地獄
実際のライブラリで使われるHOC
クイックチェック
まとめ
次のレッスン
よくある質問
「Higher-Order Components(HOC)の基礎」レッスンは無料ですか?
はい。「Higher-Order Components(HOC)の基礎」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、React Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 React Academyコースには全4レッスンが含まれています。
「Higher-Order Components(HOC)の基礎」で何を学びますか?
HOC factoryを使ってコンポーネントをラップし、propsの注入、ルートの保護、ログ機能の追加を行います。 ブラウザで直接実行するハンズオンコードでReact Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
React Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのReact Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「Higher-Order Components(HOC)の基礎」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このReact Academyレッスンでコードを書いて実行できますか?
はい。すべてのReact Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Render Propsパターン
- Higher-Order Components(HOC)の基礎
- HOC・Render Props・Custom Hooksの比較
- HOCからCustom Hookへのリファクタリング