最適なパフォーマンスのために矢印関数を回避し、JSX Props にバインドする
React の lint ツールは、潜在的な問題を強調することでコードの実践を強化することを目的としています。よくあるエラー メッセージの 1 つは、「JSX プロパティではアロー関数を使用しないでください」です。これは、JSX プロパティ内でアロー関数またはバインドを使用することの悪影響を指摘しています。
アロー関数とバインドがパフォーマンスを妨げる理由
アロー関数またはバインドを JSX プロパティに組み込むと、パフォーマンスへの影響:
再レンダリングに対するインライン ハンドラーの影響
考慮してくださいこれらの例:
例 1: インラインを使用しない PureComponent Handler
class Button extends React.PureComponent { render() { const { onClick } = this.props; console.log('render button'); return ; } }
このコードでは、PureComponent で予期されるように、Button コンポーネントはプロパティが変更されたときにのみ再レンダリングされます。
例 2: インライン ハンドラーを使用した PureComponent
const Button = (props) => { console.log('render button'); return ; };
インライン矢印関数により、コンポーネントの状態が変わらない場合でも、ボタンは毎回再レンダリングされるようになりました。この不要な再レンダリングはパフォーマンスに大きな影響を与える可能性があります。
ベスト プラクティス
これらのパフォーマンスの問題を回避するには、次のベスト プラクティスに従うことをお勧めします:
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3