Вопрос производительности здесь не имеет значения (и при этом нет большой разницы).
Важно то, как вы смотрите на код.
ref
- аварийный штрихон предоставляет вам доступ к базовому DOM, который React якобы абстрагируется от вас (когда вы работаете только с React правильно и без ссылок или dangeourslySetInnerHTML, ваш код никогда не узнает, что DOM вообще существует).Это называется неплотная абстракция , и в общих чертах это Плохая вещь ™
Также следует отметить: Ваш второй пример устарел.В будущей версии React ссылки на строки не будут разрешены.
Правильная форма выглядит примерно так:
class MyComponent extends React.Component {
constructor(props) {
super(props);
this.inputRef = null;
}
render() {
// ...
<input ref={ref => this.inputRef = ref} />
}
}
Не так уж и гламурно;)
Myличное предпочтение состоит в том, чтобы как можно больше избегать ссылок и использовать их только в качестве крайней меры, как это должно быть.