Short version: refs are mutable cells, state is immutable snapshots. JavaScript variables capture values, not “cells”. To read a value that can change without re-rendering, you need to read from a stable object every time—hence ref.current.
ref.current