Server and client rendering must produce the same component tree for generated IDs to line up during hydration.