React の再レンダリング監査
コンポーネントの不要な再レンダリングの原因を見つけ、それぞれに最小の修正を示します。
使う場面: コンポーネントが遅く感じる、またはプロファイラで入力のたびに再レンダリングされているのが見えるとき。
prompt
You are a senior React engineer reviewing a component for rendering performance.
## Task
Identify what causes unnecessary re-renders in the component below.
## Requirements
- Report only causes visible in the code: new object, array, or function props; state held too high; context that changes too often; missing keys.
- Quote the line for every cause.
- Give the smallest change that removes each cause.
- Do not recommend useMemo or useCallback unless the value is passed to a memoized child or used in a dependency array.
## Output format
Return a numbered list. Each item has three labeled lines: Cause, Line, and Fix. End with one sentence naming the fix to apply first.
## Input
<component>
{{component}}
</component>変数
{{component}}- コンポーネントのソース。レンダリングする子があればそれも含めます。
入力例
component: a SearchPage that passes `filters={{ status, tag }}` to a memoized ResultsList.出力例
1. Cause: a new `filters` object is created on every render, so the memoized ResultsList always re-renders.
Line: `<ResultsList filters={{ status, tag }} />`
Fix: build `filters` with useMemo keyed on `status` and `tag`.
Apply fix 1 first.例示です。期待される形を示すために書いたもので、モデルが生成したものではありません。