- CSSをインポートするコンポーネントを作成します: まず最初に、CSSをインポートするコンポーネントを作成します。このコンポーネントは、必要なCSSファイルをインポートする役割を担います。
例えば、次のようなMyComponent.js
というファイルがあるとします:
import React from 'react';
const MyComponent = () => {
// コンポーネントのロジック
return <div>コンポーネントの内容</div>;
};
export default MyComponent;
- コンポーネントがレンダリングされるときにCSSをインポートする: 次に、コンポーネントがレンダリングされるときにCSSをインポートする方法を実装します。これを行うために、Reactの動的なインポート機能を使用します。
import React, { useEffect } from 'react';
const MyComponent = () => {
useEffect(() => {
import('./MyComponent.css');
}, []);
// コンポーネントのロジック
return <div>コンポーネントの内容</div>;
};
export default MyComponent;
上記の例では、useEffect
フックを使用して、コンポーネントがマウントされたときにCSSをインポートしています。import
ステートメントは非同期に行われるため、コンポーネントがレンダリングされる前にCSSが読み込まれます。
- 必要に応じてCSSモジュールを使用する:
また、CSSモジュールを使用することで、コンポーネントごとにスタイルのスコープを制御することもできます。CSSモジュールを使用するには、CSSファイルの拡張子を
.module.css
に変更し、スタイルをインポートする際にオブジェクトとして取得します。
import React, { useEffect } from 'react';
import styles from './MyComponent.module.css';
const MyComponent = () => {
useEffect(() => {
import('./MyComponent.module.css');
}, []);
// コンポーネントのロジック
return <div className={styles.container}>コンポーネントの内容</div>;
};
export default MyComponent;
上記の例では、styles.container
というオブジェクトを使用して、スタイルを適用しています。
以上がReactコンポーネントがレンダリングされるときにのみCSSをインポートする方法の説明です。これにより、不要なCSSの読み込みを回避し、パフォーマンスを最適化することができます。