useState is an SSR-friendly ref replacement.
Its value will be preserved after server-side rendering and shared across all components using a unique key.