Das ist eine seltsame Frage, aber lange Geschichte Ich benutze eine Bibliothek und darauf läuft es hinaus.
Warum möchten Sie die Komponente als Requisiten übergeben? wann Sie importieren können
– Aatif Bandey
23. September 16 um 4:51 Uhr
@AatifBandey Weil er verschiedene Komponenten weitergibt? Wie würden Sie dies genau mit Importen lösen? Zeichenfolgen übergeben und Gleichheitsprüfungen durchführen? Das macht keinen Sinn.
– Ivarni
23. September 16 um 7:34 Uhr
Beantwortet das deine Frage? Wie übergibt man eine Reaktkomponente in eine andere Reaktkomponente, um den Inhalt der ersten Komponente einzuschließen?
– Michael Freigeim
1. Mai 20 um 13:47 Uhr
Stefan Dragnew
Verwenden this.props.children ist der idiomatische Weg, um instanziierte Komponenten an eine reagierende Komponente zu übergeben
Wenn Sie eine Komponente direkt als Parameter übergeben, übergeben Sie sie ohne Instanziierung und instanziieren sie, indem Sie sie von den Requisiten abrufen. Dies ist eine idiomatische Art, Komponentenklassen weiterzugeben, die dann von den Komponenten im Baum instanziiert werden (z. B. wenn eine Komponente benutzerdefinierte Stile für ein Tag verwendet, aber den Verbraucher wählen lassen möchte, ob dieses Tag ein ist div oder span):
const Label = props => <span>{props.children}</span>
const Button = props => {
const Inner = props.inner; // Note: variable name _must_ start with a capital letter
return <button><Inner>Foo</Inner></button>
}
const Page = () => <Button inner={Label}/>
Wenn Sie einen kinderähnlichen Parameter als Requisite übergeben möchten, können Sie dies tun:
Schließlich sind Eigenschaften in React nur normale JavaScript-Objekteigenschaften und können jeden Wert enthalten – sei es eine Zeichenfolge, eine Funktion oder ein komplexes Objekt.
Ich weiß, dass Sie viele gute Beispiele für Pfeilfunktionen mitgebracht haben. Aber hätten Sie etwas dagegen zu zeigen, wie der Code aussehen würde, wenn er in verschiedene Dateien aufgeteilt wäre? Ich bin ein bisschen verwirrt darüber, wie man die verwendet class und export
– Norfeldt
18. April 17 um 18:43 Uhr
Benutz einfach export const Foo = ... und dann woanders import {Foo} from "./foo"
– Stefan Dragnew
25. April 17 um 7:09 Uhr
Tipp: Stellen Sie das sicher Inner ist nicht inner. Funktioniert sonst nicht
– ich gehe
27. Juli 17 um 08:54 Uhr
Grundsätzlich eine Komponente wie übergeben <Com a="5" /> Verwandeln Sie es einfach in eine Pfeilfunktion: () => <Com a="5" />
– totymedli
10. Dezember 2020 um 8:44 Uhr
Hellwach
Wie in der akzeptierten Antwort erwähnt, können Sie die spezielle Eigenschaft { props.children } verwenden. Sie können jedoch eine Komponente einfach als Requisite übergeben, wenn der Titel dies erfordert. Ich denke, das ist manchmal sauberer, da Sie vielleicht mehrere Komponenten übergeben und an verschiedenen Stellen rendern möchten. Hier ist die Reaktionsdokumentation mit einem Beispiel dafür, wie es geht:
Wenn das Kind ein Prop.how hat, greife ich darauf im Elternteil zu.
– NicoleZ
14. September 2020 um 18:20 Uhr
@NicoleZ – die Grundidee ist, die Frage umzudrehen. Das heißt, erstellen Sie die Variable im Elternteil und geben Sie sie als Prop an das Kind weiter. Wenn Sie möchten, dass das untergeordnete Element die Variable ändert, müssen Sie eine Funktion erstellen, um dies im übergeordneten Element zu tun, und diese Funktion auch als weitere Stütze weitergeben.
– Hellwach
14. September 20 um 19:00 Uhr
Wie kann ich Requisiten geben? componentToPassDown in der Kindermethode?
Warum möchten Sie die Komponente als Requisiten übergeben? wann Sie importieren können
– Aatif Bandey
23. September 16 um 4:51 Uhr
@AatifBandey Weil er verschiedene Komponenten weitergibt? Wie würden Sie dies genau mit Importen lösen? Zeichenfolgen übergeben und Gleichheitsprüfungen durchführen? Das macht keinen Sinn.
– Ivarni
23. September 16 um 7:34 Uhr
Beantwortet das deine Frage? Wie übergibt man eine Reaktkomponente in eine andere Reaktkomponente, um den Inhalt der ersten Komponente einzuschließen?
– Michael Freigeim
1. Mai 20 um 13:47 Uhr