JSX Props でのアロー関数またはバインドの使用が禁止されている理由
React を使用する場合は、アロー関数やバインドの使用を避けることが重要です。 JSX プロパティのバインディング。この方法を実行すると、パフォーマンスの問題や不正な動作が発生する可能性があります。
パフォーマンスの問題
JSX プロップ内でアロー関数またはバインディングを使用すると、レンダリングのたびにこれらの関数が強制的に再作成されます。これは、次のことを意味します。
の変更により、 shouldComponentUpdate が依然として再レンダリングをトリガーします。動作
次の例を考えてみましょう:
onClick={() => this.handleDelete(tile)}
このコードは、それぞれに新しい関数を作成します。これにより、React はコンポーネントをダーティとしてマークし、再レンダリングをトリガーします。タイル プロップが変更されていない場合でも、矢印関数が異なるため、コンポーネントは再レンダリングされます。
ベスト プラクティス
これらの落とし穴を回避するには、次のベスト プラクティス:
constructor(props) { super(props); this.handleDelete = this.handleDelete.bind(this); }
const handleDelete = tile => { // Handle delete logic };
追加の注意:
アロー関数は、render メソッド内など、コンポーネントの他の部分で使用する場合にはまったく問題ないことに注意することが重要です。ただし、イベント ハンドラーを JSX props に割り当てる場合は、これらを回避する必要があります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3