JavaScript と React を使用する場合、特定のコーディング パターンをマスターすると、コードの可読性、保守性、および全体的なパフォーマンスが大幅に向上します。この投稿では、初心者でも経験豊富な開発者でも、クリーンで効率的なコードを作成するために不可欠な 20 の主要なパターンと概念について説明します。飛び込んでみましょう!
条件に基づいてコンポーネントをレンダリングする簡潔な方法は、&& (論理 AND) 演算子を使用することです。完全な if ステートメントを記述する代わりに、次のようにすることができます。
{isLoggedIn && <LogoutButton />}
isLoggedIn が true の場合、LogoutButton が表示されます。それ以外の場合は何も起こりません。シンプルですっきり!
構造化は、各値に個別にアクセスせずに、props と state から値を抽出する便利な方法です。
const { value } = props;
このアプローチにより、コードがより簡潔になり、読みやすくなります。同じ方法で状態を構造化することもできます。
const { user, isLoggedIn } = this.state;
要素を追加の div でラップしたくない場合 (不要な DOM 要素を避けるため)、React Fragments を使用します。
<> <ComponentA /> <ComponentB /> </>
これにより、DOM に追加のラッパーを追加することなく、両方のコンポーネントがグループ化されます。
イベント ハンドラーを使用する場合、アロー関数は、コンストラクターに .bind(this) を記述せずに this をバインドする簡潔な方法を提供します。
<button onClick={() => this.handleClick()}>Click</button>
これにより、レンダリングのたびに新しい関数インスタンスが作成されることもなくなり、大規模なコンポーネントのパフォーマンスが向上します。
React Function Components は、ライフサイクル メソッドを必要としないコンポーネントを作成する簡単な方法です。
const Welcome = ({ name }) => <h1>Hello, {name}</h1>;
これは、プロパティとして名前を受け取り、メッセージをレンダリングするステートレスで単純なコンポーネントです。
オプションのチェーンを使用すると、各レベルで null または未定義をチェックすることなく、深くネストされたプロパティに安全にアクセスできます。
const name = props.user?.name;
ユーザーが null または未定義の場合、エラーをスローするのではなく、未定義を返します。
スプレッド演算子は、それぞれを手動で指定することなく、すべてのプロパティを渡す簡単な方法です。
<MyComponent {...props} />
これは、複数の props を渡す必要があるが、コードの繰り返しを避けたい場合に特に便利です。
ヌル合体演算子 ??プロパティが null または未定義の場合にデフォルト値を設定できます。
const username = props.username ?? 'Guest';
props.username が null または未定義の場合、値はデフォルトで「Guest」になります。
関数コンポーネントのパラメータでデフォルトの小道具を直接定義することもできます:
const MyComponent = ({ prop = 'default' }) => <div>{prop}</div>;
このパターンは、コンポーネントに特定の props のフォールバック値があることを確認するのに役立ちます。
論理 OR (||) 演算子を使用した短絡評価を使用して、デフォルト値を指定します。
const value = props.value || 'default';
props.value が false (null、未定義、または "" など) の場合、デフォルトは 'default' になります。
テンプレート リテラルを使用すると、条件に基づいてクラス名を動的に割り当てることができます。
const className = `btn ${isActive ? 'active' : ''}`;
これにより、コンポーネント内の CSS クラスを簡単に切り替えることができます。
条件に基づいて動的に変化するインライン スタイルを使用できます。
const style = { color: isActive ? 'red' : 'blue' };
これは、その場でスタイルを変更するための迅速かつ簡単な方法です。
オブジェクト内で動的なキーが必要な場合、計算されたプロパティ名を使用するとそれが可能になります。
const key = 'name'; const obj = { [key]: 'value' };
これは、可変キーを使用してオブジェクトを作成する必要がある場合に便利です。
React の強力なリスト レンダリングは、.map() を使用して効率的に実行できます。
const listItems = items.map(item => <li key={item.id}>{item.name}</li>);
React でリストをレンダリングするときは、必ず一意のキー プロパティを含めてください。
コンポーネントを条件付きでレンダリングするもう 1 つの優れた方法は、三項演算子です。
const button = isLoggedIn ? <LogoutButton /> : <LoginButton />;
これは、インライン レンダリング ロジックの if-else に代わる明確かつ簡潔な代替手段です。
Similar to default values, logical OR (||) can be used to provide fallback data:
const displayName = user.name || 'Guest';
This ensures that if user.name is falsy, 'Guest' is used instead.
You can destructure props directly in the function parameter:
const MyComponent = ({ prop1, prop2 }) => <div>{prop1} {prop2}</div>;
This keeps your code concise and eliminates the need for extra variables inside the function.
When the variable name matches the property name, you can use the shorthand syntax:
const name = 'John'; const user = { name };
This is a cleaner way to assign variables to object properties when they share the same name.
Array destructuring allows you to unpack values from arrays in a single line:
const [first, second] = array;
This pattern is especially useful when working with hooks like useState in React.
If you want to rename an imported component or module, use aliases:
import { Component as MyComponent } from 'library';
This is useful when you want to avoid naming conflicts or improve clarity in your code.
By mastering these 20 JavaScript and React patterns, you'll write more readable, maintainable, and efficient code. These best practices—ranging from conditional rendering to destructuring—will help you create cleaner components and handle data flow effectively in your applications.
Understanding and using these patterns will make your development process smoother and your code more professional. Keep coding, and keep improving!
For those looking to deepen their knowledge of JavaScript and React patterns, consider exploring these resources:
위 내용은 깨끗하고 효율적인 코드를 위한 필수 React 속기 마스터하기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!