Join caption segments into a single string, dropping the empty ones.
The return is deliberately one string rather than an array or a fragment, so
the caller renders exactly one text node. Assembling a caption from adjacent
JSX children ({label} · {load}) is the markup shape browser translation
breaks: a translator merges and wraps adjacent text nodes, and React's next
structural update in that element then works from a reference the DOM no
longer holds — a NotFoundError out of insertBefore, mid-commit, which no
boundary below the route catches. One child means React only ever writes
nodeValue, which degrades to stale text at worst.
Parameters
...parts: readonly (string|null|undefined)[]
segments in reading order; nullish and blank ones are dropped.
Returns string|null
the joined line, or null when no segment survives.
Join caption segments into a single string, dropping the empty ones.
The return is deliberately one string rather than an array or a fragment, so the caller renders exactly one text node. Assembling a caption from adjacent JSX children (
{label} · {load}) is the markup shape browser translation breaks: a translator merges and wraps adjacent text nodes, and React's next structural update in that element then works from a reference the DOM no longer holds — aNotFoundErrorout ofinsertBefore, mid-commit, which no boundary below the route catches. One child means React only ever writesnodeValue, which degrades to stale text at worst.