Fix 'Display Name' using wrong value after visiting another user page
The 'Display Name' input field is set with useState, with its initial value being userInfo.displayName. This means if you visit a user page for another user first, their display name will persist even if you visit your own user page later.
This commit fixes that by using key
to trigger an implicit dependency
between the display name component and the username, so that it fully
reconciliates when the user changes.