А почему плохая практика менять компонент с неуправляемого на управляемый? В доке не удалось найти пояснения, ткните, пж, если я слепой. Вот допустим инициализируется у меня поле формы со значением null, если данные ещё не зафетчились, чем лучше этого заюзать пустую строку? Чисто, чтобы было по фэншую и чтобы консолька не была красной или более существенные причины есть?
Компонент должен быть либо управляемым, либо неуправляемым. Это внутренняя кухня реакта. Нигде не задокументировано, как компонент должен себя вести в случае изменения на лету, а значит команда реакта может в любой момент выпустить апдейт, в котором такие компоненты не будут работать