ну компонент может быть как стейтлесс так и стейтфулл, не суть, перед обновлением компонента ты берешь его стейт. сохраняешь себе. затем меняешь компонент на новый, загружаешь туда этот стейт. если надо его как-то мигрировать, загружаешь еще компонент для миграции, мигрируешь, загружаешь, и работаешь с обновленным компонентом.