もう一度ドキュメントを読んでいましたが、refをコールバックと文字列として定義することの違いはわかりません。
<input ref={input => this._input = input} />
vs <input ref="input" />
誰かが私に明確にしてくれませんか?
refを文字列として定義すると、 this.refs
オブジェクトで使用できるようになります(例: this.refs.input
。
コールバック参照を定義すると、必要に応じてthis
保存するなど、自由に何でもできます。
文字列refは最終的に非推奨になります。 コールバック参照は後で導入されましたが、文字列参照のすべてのユースケースをカバーしており、いくつかの欠点はありません。 作成する新しいコードでは、常にコールバック参照を使用することをお勧めします。
将来的には、StackOverflowで質問することを検討してください。 公式には、課題追跡システムをサポートフォーラムとは見なしていません。残念ながら、GitHub検索はStackOverflow検索と同様に機能しないため、誰かがもう一度これを尋ねる可能性があります。 これをStackOverflowに投稿した場合、良い回答が得られる可能性が高く、質問が投票され、将来的にはより多くの人々がそれから学び、それを見つけるでしょう。
@gaearonありがとうございます。 次回はStackOverflowを使用します。
問題ない! 新しいコードでコールバック参照パターンを推奨することをより明確にできると思われる場合は、ドキュメントにプルリクエストを送信してください。
最も参考になるコメント
refを文字列として定義すると、
this.refs
オブジェクトで使用できるようになります(例:this.refs.input
。コールバック参照を定義すると、必要に応じて
this
保存するなど、自由に何でもできます。文字列refは最終的に非推奨になります。 コールバック参照は後で導入されましたが、文字列参照のすべてのユースケースをカバーしており、いくつかの欠点はありません。 作成する新しいコードでは、常にコールバック参照を使用することをお勧めします。
将来的には、StackOverflowで質問することを検討してください。 公式には、課題追跡システムをサポートフォーラムとは見なしていません。残念ながら、GitHub検索はStackOverflow検索と同様に機能しないため、誰かがもう一度これを尋ねる可能性があります。 これをStackOverflowに投稿した場合、良い回答が得られる可能性が高く、質問が投票され、将来的にはより多くの人々がそれから学び、それを見つけるでしょう。