В документации React говорится:
React также поддерживает использование строки (вместо обратного вызова) в качестве ссылки на любой компонент, хотя этот подход в основном является наследием.
https://facebook.github.io/react/docs/more-about-refs.html
Возьмем следующий пример:
class Foo extends Component {
render() {
return <input onClick={() => this.action()} ref={input => this._input = input} />;
}
action() {
console.log(this._input.value);
}
}
Почему я предпочитаю это, а не:
class Foo extends Component {
render() {
return <input onClick={() => this.action()} ref='input' />;
}
action() {
console.log(this.refs.input.value);
}
}
?
Кажется, что намного проще и проще второго примера.
Существуют ли риски, что строковый метод будет устаревшим?
NB. Я ищу "официальный" ответ на выражение в документации, я не спрашиваю о личных предпочтениях и т.д.