Trigger parent re-render
❌ Closure parameter
onTap: { vm.doThing() }
ParentView
re-renders
0
↓ closure
ChildView
always re-renders
0
✅ ViewModel parameter
viewModel: vm
ParentView
re-renders
0
↓ viewModel
ChildView
skipped (no property changed)
0
Change read property