Two branches at the same position keep the same state
The common read: React renders the branch I wrote, so switching to the other branch of the conditional gives that component new state.
React never reads your conditional, whether it is switching a counter or the box you just made a prediction about. It reads the tree your function returns: two return statements that both put <Counter /> first inside a div are one address, whatever the two blocks look like in your editor. The parent, the slot and the component are the same, so React keeps the node and only its props change.
Move the branch further up or further down the function and the kept state
Takeaway: At the same address React keeps the state. That is correct for a tab and wrong for two different records.
In the second case the bug is a value you expected to be cleared: a draft written for pull request 41 is still in the box under pull request 42, and the bug is filed as "the comment box is not clearing" against a component that never had a reset in it.

