React は、ユーザー インターフェイスを構築するための強力な JavaScript ライブラリです。その柔軟性は最大の強みの 1 つですが、場合によってはコードが冗長になる可能性があります。幸いなことに、React の一般的なパターンを簡潔で効率的なワンライナーで簡略化する方法はたくさんあります。この記事では、コードをよりクリーンかつ効率的にする 30 の便利な React ワンライナーを紹介します。各例には、その使用法を強調する簡単な説明が付いています。
プロパティまたは状態に基づいて条件付き UI レンダリングを簡素化します。
const Greeting = ({ isLoggedIn }) => isLoggedIn ? <h1>Welcome!</h1> : <h1>Please log in</h1>;
未定義のエラーを避けるために、props にデフォルト値を指定します。
const Button = ({ label = "Click Me" }) => <button>{label}</button>;
JavaScript オブジェクトを使用して動的スタイルを直接適用します。
const Box = ({ size }) => <div> <h3> 4. Functional Updates in State </h3> <p>Use functional updates to access the latest state.<br> </p> <pre class="brush:php;toolbar:false">const [count, setCount] = useState(0); const increment = () => setCount(prev => prev + 1);
ユーザー入力イベントをインラインで直接処理します。
const Input = () => <input onChange={e => console.log(e.target.value)} />;
すべての props をコンポーネントに簡単に渡します。
const Button = props => <button {...props} />;
プロパティに基づいて CSS クラスを動的に割り当てます。
const Alert = ({ type }) => <div className={`alert ${type}`}>Alert Message</div>;
配列をマップして要素のリストを生成します。
const List = ({ items }) => <ul>{items.map((item, index) => <li key={index}>{item}</li>)}</ul>;
配列をフィルタリングし、一致する項目のみをレンダリングします。
const FilteredList = ({ items }) => <ul>{items.filter(item => item.active).map(item => <li key={item.id}>{item.name}</li>)}</ul>;
深くネストされたオブジェクトのプロパティに安全にアクセスします。
const UserProfile = ({ user }) => <p>{user?.name || "Guest"}</p>;
コンポーネントまたは要素を条件付きでレンダリングします。
const ErrorMessage = ({ error }) => error && <p>{error.message}</p>;
コンポーネントを再利用可能なラッパーの小道具として渡します。
const Wrapper = ({ Component }) => <Component />;
コンポーネントのマウント中にエフェクトを 1 回だけ実行します。
useEffect(() => console.log("Mounted"), []);
ユーザー入力をデバウンスしてパフォーマンスを向上させます。
const Input = ({ onChange }) => <input onChange={e => debounce(onChange(e.target.value), 300)} />;
新しい状態の更新を既存の状態にマージします。
const [state, setState] = useState({}); const updateState = updates => setState(prev => ({ ...prev, ...updates }));
コードをすっきりさせるには、構造化されたプロパティを使用します。
const Greeting = ({ name }) => <h1>Hello, {name}</h1>;
不要な再作成を避けるために関数をメモ化します。
const handleClick = useCallback(() => console.log("Clicked"), []);
再利用可能なロジック用の簡潔なカスタム フックを作成します。
const useToggle = initialValue => useState(initialValue).reduce((state, setState) => [state, () => setState(!state)]);
余分な DOM ノードを追加せずに、複数の要素をグループ化します。
const FragmentExample = () => <><p>First</p><p>Second</p></>;
コンシューマ コンポーネントを使用してコンテキスト値にアクセスします。
const Greeting = ({ isLoggedIn }) => isLoggedIn ? <h1>Welcome!</h1> : <h1>Please log in</h1>;
実行時エラーを防ぐために、デフォルトの関数を小道具として提供します。
const Button = ({ label = "Click Me" }) => <button>{label}</button>;
イベント ハンドラーで直接デフォルトの動作を防止します。
const Box = ({ size }) => <div> <h3> 4. Functional Updates in State </h3> <p>Use functional updates to access the latest state.<br> </p> <pre class="brush:php;toolbar:false">const [count, setCount] = useState(0); const increment = () => setCount(prev => prev + 1);
パフォーマンスを向上させるためにコンポーネントを動的にインポートします。
const Input = () => <input onChange={e => console.log(e.target.value)} />;
エラーに備えて子をフォールバック UI にラップします。
const Button = props => <button {...props} />;
柔軟なコンポーネントには render-prop パターンを使用します。
const Alert = ({ type }) => <div className={`alert ${type}`}>Alert Message</div>;
ロジックに基づいて条件付きで属性を適用します。
const List = ({ items }) => <ul>{items.map((item, index) => <li key={index}>{item}</li>)}</ul>;
条件に基づいてモジュールを動的にロードします。
const FilteredList = ({ items }) => <ul>{items.filter(item => item.active).map(item => <li key={item.id}>{item.name}</li>)}</ul>;
入力値と状態を簡単に同期します。
const UserProfile = ({ user }) => <p>{user?.name || "Guest"}</p>;
reduce を使用してデータを要素に変換します。
const ErrorMessage = ({ error }) => error && <p>{error.message}</p>;
ルールに違反することなく、条件付きでフックを使用します。
const Wrapper = ({ Component }) => <Component />;
これらのワンライナーは、React の優雅さと多用途性を示しています。これらの簡潔なパターンを活用することで、生産性を向上させる、よりクリーンで保守しやすいコードを作成できます。違いを確認するには、これらをプロジェクトに組み込んでみてください!
以上がReact ワンライナーでコーディング効率を向上の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。