React re-render audit
Finds the causes of unnecessary re-renders in a component and gives the smallest fix for each.
Use it when: A component feels slow or the profiler shows it rendering on every keystroke.
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>Variables
{{component}}- The component source, with the children it renders if you have them.
Example input
component: a SearchPage that passes `filters={{ status, tag }}` to a memoized ResultsList.Example output
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.Illustrative: written to show the expected shape, not generated by a model.