ホームページ > ウェブフロントエンド > jsチュートリアル > React ワンライナーでコーディング効率を向上

React ワンライナーでコーディング効率を向上

Susan Sarandon
リリース: 2024-12-22 01:20:26
オリジナル
462 人が閲覧しました

React One-Liners to Enhance Your Coding Efficiency

React は、ユーザー インターフェイスを構築するための強力な JavaScript ライブラリです。その柔軟性は最大の強みの 1 つですが、場合によってはコードが冗長になる可能性があります。幸いなことに、React の一般的なパターンを簡潔で効率的なワンライナーで簡略化する方法はたくさんあります。この記事では、コードをよりクリーンかつ効率的にする 30 の便利な React ワンライナーを紹介します。各例には、その使用法を強調する簡単な説明が付いています。

1. 条件付きレンダリング

プロパティまたは状態に基づいて条件付き UI レンダリングを簡素化します。

const Greeting = ({ isLoggedIn }) => isLoggedIn ? <h1>Welcome!</h1> : <h1>Please log in</h1>;
ログイン後にコピー
ログイン後にコピー

2. デフォルトの小道具

未定義のエラーを避けるために、props にデフォルト値を指定します。

const Button = ({ label = "Click Me" }) => <button>{label}</button>;
ログイン後にコピー
ログイン後にコピー

3. インラインスタイル

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);
ログイン後にコピー
ログイン後にコピー

5. イベント処理

ユーザー入力イベントをインラインで直接処理します。

const Input = () => <input onChange={e => console.log(e.target.value)} />;
ログイン後にコピー
ログイン後にコピー

6. スプレッドプロップス

すべての props をコンポーネントに簡単に渡します。

const Button = props => <button {...props} />;
ログイン後にコピー
ログイン後にコピー

7. 動的クラス

プロパティに基づいて CSS クラスを動的に割り当てます。

const Alert = ({ type }) => <div className={`alert ${type}`}>Alert Message</div>;
ログイン後にコピー
ログイン後にコピー

8. 配列マッピング

配列をマップして要素のリストを生成します。

const List = ({ items }) => <ul>{items.map((item, index) => <li key={index}>{item}</li>)}</ul>;
ログイン後にコピー
ログイン後にコピー

9. 配列のフィルタリング

配列をフィルタリングし、一致する項目のみをレンダリングします。

const FilteredList = ({ items }) => <ul>{items.filter(item => item.active).map(item => <li key={item.id}>{item.name}</li>)}</ul>;
ログイン後にコピー
ログイン後にコピー

10. オプションのチェーニング

深くネストされたオブジェクトのプロパティに安全にアクセスします。

const UserProfile = ({ user }) => <p>{user?.name || "Guest"}</p>;
ログイン後にコピー
ログイン後にコピー

11. 短絡評価

コンポーネントまたは要素を条件付きでレンダリングします。

const ErrorMessage = ({ error }) => error && <p>{error.message}</p>;
ログイン後にコピー
ログイン後にコピー

12. プロップとしてのコンポーネント

コンポーネントを再利用可能なラッパーの小道具として渡します。

const Wrapper = ({ Component }) => <Component />;
ログイン後にコピー
ログイン後にコピー

13. 依存関係のある UseEffect

コンポーネントのマウント中にエフェクトを 1 回だけ実行します。

useEffect(() => console.log("Mounted"), []);
ログイン後にコピー

14. デバウンスされた入力

ユーザー入力をデバウンスしてパフォーマンスを向上させます。

const Input = ({ onChange }) => <input onChange={e => debounce(onChange(e.target.value), 300)} />;
ログイン後にコピー

15. 州の合併

新しい状態の更新を既存の状態にマージします。

const [state, setState] = useState({});
const updateState = updates => setState(prev => ({ ...prev, ...updates }));
ログイン後にコピー

16. 構造化されたプロップ

コードをすっきりさせるには、構造化されたプロパティを使用します。

const Greeting = ({ name }) => <h1>Hello, {name}</h1>;
ログイン後にコピー

17. メモ化されたコールバック

不要な再作成を避けるために関数をメモ化します。

const handleClick = useCallback(() => console.log("Clicked"), []);
ログイン後にコピー

18. カスタムフックのワンライナー

再利用可能なロジック用の簡潔なカスタム フックを作成します。

const useToggle = initialValue => useState(initialValue).reduce((state, setState) => [state, () => setState(!state)]);
ログイン後にコピー

19. インラインフラグメント

余分な DOM ノードを追加せずに、複数の要素をグループ化します。

const FragmentExample = () => <><p>First</p><p>Second</p></>;
ログイン後にコピー

20. コンテキスト消費者

コンシューマ コンポーネントを使用してコンテキスト値にアクセスします。

const Greeting = ({ isLoggedIn }) => isLoggedIn ? <h1>Welcome!</h1> : <h1>Please log in</h1>;
ログイン後にコピー
ログイン後にコピー

21. デフォルトの関数の小道具

実行時エラーを防ぐために、デフォルトの関数を小道具として提供します。

const Button = ({ label = "Click Me" }) => <button>{label}</button>;
ログイン後にコピー
ログイン後にコピー

22. イベントのデフォルトを防止する

イベント ハンドラーで直接デフォルトの動作を防止します。

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);
ログイン後にコピー
ログイン後にコピー

23. 遅延ロードされたコンポーネント

パフォーマンスを向上させるためにコンポーネントを動的にインポートします。

const Input = () => <input onChange={e => console.log(e.target.value)} />;
ログイン後にコピー
ログイン後にコピー

24. インラインエラー境界

エラーに備えて子をフォールバック UI にラップします。

const Button = props => <button {...props} />;
ログイン後にコピー
ログイン後にコピー

25. 小道具のレンダリング

柔軟なコンポーネントには render-prop パターンを使用します。

const Alert = ({ type }) => <div className={`alert ${type}`}>Alert Message</div>;
ログイン後にコピー
ログイン後にコピー

26. 条件付き属性

ロジックに基づいて条件付きで属性を適用します。

const List = ({ items }) => <ul>{items.map((item, index) => <li key={index}>{item}</li>)}</ul>;
ログイン後にコピー
ログイン後にコピー

27. 動的インポート

条件に基づいてモジュールを動的にロードします。

const FilteredList = ({ items }) => <ul>{items.filter(item => item.active).map(item => <li key={item.id}>{item.name}</li>)}</ul>;
ログイン後にコピー
ログイン後にコピー

28. 管理対象コンポーネント

入力値と状態を簡単に同期します。

const UserProfile = ({ user }) => <p>{user?.name || "Guest"}</p>;
ログイン後にコピー
ログイン後にコピー

29. レンダリングのための配列の削減

reduce を使用してデータを要素に変換します。

const ErrorMessage = ({ error }) => error && <p>{error.message}</p>;
ログイン後にコピー
ログイン後にコピー

30. 条件付きフック

ルールに違反することなく、条件付きでフックを使用します。

const Wrapper = ({ Component }) => <Component />;
ログイン後にコピー
ログイン後にコピー

これらのワンライナーは、React の優雅さと多用途性を示しています。これらの簡潔なパターンを活用することで、生産性を向上させる、よりクリーンで保守しやすいコードを作成できます。違いを確認するには、これらをプロジェクトに組み込んでみてください!

以上がReact ワンライナーでコーディング効率を向上の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート