React: [Docs] [Frage] Refs – Callback vs. String

Erstellt am 11. März 2016  ·  3Kommentare  ·  Quelle: facebook/react

Ich habe die Dokumente noch einmal gelesen, mir ist der Unterschied zwischen der Definition einer Referenz als Rückruf und einer Zeichenfolge nicht klar:

<input ref={input => this._input = input} /> vs <input ref="input" />

Kann mir das bitte jemand aufklären?

Hilfreichster Kommentar

Wenn Sie ref als Zeichenfolge definieren, ist sie für das Objekt this.refs verfügbar, zum Beispiel this.refs.input .
Wenn Sie eine Rückrufreferenz definieren, können Sie alles damit tun, einschließlich der Speicherung auf this wenn Sie möchten.

Die String-Refs werden schließlich veraltet sein. Callback-Refs wurden später eingeführt, aber sie decken alle Anwendungsfälle von String-Refs ab und haben keine ihrer Nachteile. Ich schlage vor, dass Sie im neuen Code, den Sie schreiben, immer Rückrufreferenzen verwenden.

Bitte erwägen Sie in Zukunft, Fragen zu StackOverflow zu stellen. Wir betrachten Issue Tracker offiziell nicht als Support-Forum, und leider funktioniert die GitHub-Suche nicht so gut wie die StackOverflow-Suche, daher wird dies wahrscheinlich noch einmal jemand fragen. Wenn Sie dies jedoch auf StackOverflow posten, erhalten Sie wahrscheinlich eine gute Antwort, Ihre Frage würde abgestimmt und mehr Menschen hätten daraus gelernt und sie in Zukunft gefunden.

Alle 3 Kommentare

Wenn Sie ref als Zeichenfolge definieren, ist sie für das Objekt this.refs verfügbar, zum Beispiel this.refs.input .
Wenn Sie eine Rückrufreferenz definieren, können Sie alles damit tun, einschließlich der Speicherung auf this wenn Sie möchten.

Die String-Refs werden schließlich veraltet sein. Callback-Refs wurden später eingeführt, aber sie decken alle Anwendungsfälle von String-Refs ab und haben keine ihrer Nachteile. Ich schlage vor, dass Sie im neuen Code, den Sie schreiben, immer Rückrufreferenzen verwenden.

Bitte erwägen Sie in Zukunft, Fragen zu StackOverflow zu stellen. Wir betrachten Issue Tracker offiziell nicht als Support-Forum, und leider funktioniert die GitHub-Suche nicht so gut wie die StackOverflow-Suche, daher wird dies wahrscheinlich noch einmal jemand fragen. Wenn Sie dies jedoch auf StackOverflow posten, erhalten Sie wahrscheinlich eine gute Antwort, Ihre Frage würde abgestimmt und mehr Menschen hätten daraus gelernt und sie in Zukunft gefunden.

Nochmals vielen Dank @gaearon. Ich werde das nächste Mal StackOverflow verwenden.

Kein Problem! Bitte senden Sie einen Pull-Request an die Dokumentation, wenn Sie der Meinung sind, dass wir das Callback-Ref-Muster im neuen Code deutlicher machen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen