Component vs PureComponent
Component re-renders when the parent says so. PureComponent implements shouldComponentUpdate with a shallow compare of props and state — skip if nothing shallow-changed. Function version: React.memo(Comp). New object/array props (style={{}}) still look ‘different’ every time — memo won’t help until you stabilize props.
Component vs PureComponent — output — three lines. New object props {{}} still break PureComponent. Same trap as memo.
Parent
│ props (read-only)
▼
Child → UIShallow compare + memo + unstable prop trap.