Details zum Schreiben von React in einem Vue-Projekt

Details zum Schreiben von React in einem Vue-Projekt

Wir können jsx/tsx-Dateien direkt erstellen

Die Projektstruktur sieht diesmal wie folgt aus:

Verwenden Sie es so in der Vue-Datei

// index.vue
<Vorlage>
  <div Klasse="Wrapper">
    <Allgemein :opt="Liste" />
  </div>
</Vorlage>
 
<script lang="ts">
importiere { Komponente, Vue } von „vue-property-decorator“;
importiere Common aus "./components/Common";

@Komponente({
  Name: "App",
  Komponenten:
    Gemeinsam,
  },
})
exportiere Standardklasse App erweitert Vue {
  private Liste = ["Ich möchte zu Taobao", "Ich möchte zu Baidu", "Ich möchte zu JD"];
}
</Skript>

tsx schreibt so

importiere { CreateElement } von „vue“;
importiere { Komponente, Vue, Prop } von „vue-property-decorator“;

@Komponente({
    Name: „Allgemein“
})
exportiere Standardklasse Common erweitert Vue {
    @Prop(Objekt) opt!: beliebig[]

    render(h: ErstelleElement) {
        Rückkehr <span>
            {
                dies.opt.map((it) => {
                    geben Sie <span style="marginRight:10px">{es} zurück</span>
                })
            }
        </span>
    }
}

Schauen Sie sich die Seite an

Jemand hat vielleicht bemerkt, dass ich auch auf CreateElement verwiesen habe. Wofür ist das? Dieses Ding wird Renderfunktion genannt. Brüder, die nicht so ein langes Dokument über Vue lesen möchten, können es hier lesen. Einfache Erklärung: Dieses Ding kann einen vnode -Knoten rendern. Es ist näher am Compiler als Vorlagen. Was bedeutet das? Dies bedeutet, dass die Vorlagensyntax auch in eine Rendering-Funktion kompiliert wird. Wenn wir also die Rendering-Funktion direkt verwenden, entspricht dies dem Speichern des Prozesses von der Vorlagensyntax zur Rendering-Funktion. Die Leistung des Rundungsprojekts ist eine weitere große Verbesserung!

Eine kurze Einführung in die Parameterübergabe:

Erster Parameter: { String | Object | Function } Ein HTML-Tag-Name, ein Komponentenoptionsobjekt oder eine asynchrone Funktion, die zu einem der oben genannten Werte resolve . Pflichtfeld.

Der zweite Parameter: Object ist ein Datenobjekt, das attribute in der Vorlage entspricht.

Der dritte Parameter: { String | Array } Textknoten oder untergeordnete virtuelle Knoten ( VNodes ).

Die Rendering-Funktion bringt viel Flexibilität in Vue. Wenn Sie früher das Einfügen von etwas in eine untergeordnete Komponente anpassen wollten, mussten Sie viele <slot> schreiben. Mit der Rendering-Funktion können wir so spielen.

// Transformiere die Daten von index.vue oben

  private Liste = [
    { render: () => ["a", { style: { color: "red" } }, "Ich möchte zu Taobao"] },
    { render: () => ["a", { style: { color: "green" } }, "Ich möchte zum JD."] },
    { render: () => ["a", { style: { color: "pink" } }, "Ich möchte zu Baidu"] },
  ];

Dies ist in tsx geschrieben:

  {
                dies.opt.map((it) => {
                    return h(...it.render())
                })
            }


Sie können eine schicke Seite rendern.

Wir können auch so spielen:

// TSX-Transformation <span>
            {
                dies.opt.map((it) => {
                    gib es zurück.render(h)
                })
            }
</span>


Wir können dies auf der Seite index.vue tun:
// index.vue
private Liste = [
    {
      rendern: (h: ErstelleElement) =>
        h("a", { style: { color: "red", marginRight: "5px" } }, "Ich möchte zu Taobao"),
    },
    {
      rendern: (h: ErstelleElement) =>
        h("a", { style: { color: "green", marginRight: "5px" } }, "Ich möchte zum JD"),
    },
    {
      rendern: (h: ErstelleElement) =>
        h("a", { style: { color: "pink", marginRight: "5px" } }, "Ich möchte zu Baidu"),
    },
  ];

Das Ergebnis ist das gleiche Phantasie

Wir können auch unsinnige Etiketten rendern!

// index.vue-Transformation {
      rendern: (h: ErstelleElement) =>
        H(
          "h1",
          {
            Stil: { Farbe: "grün", rechter Rand: "5px" },
          },
          „Ich gehe zum JD.“
        ),
    },


Wir können Ereignisse in der Rendering-Funktion beliebig definieren:

// index.vue
private Liste = [
   {
      rendern: (h: ErstelleElement) =>
        H(
          "A",
          {
            Stil: { Farbe: "rot", rechter Rand: "5px" },
            An: {
              klick: () => this.iWillGoWhere("TB"),
            },
          },
          „Ich möchte zu Taobao“
        ),
   }]
   
 iWillGoWhere(Typ: Zeichenfolge) {
    const goWhere: beliebig = {
      TB: () => {
        alert("Ich gehe zu Taobao!");
      },
      JD: () => {
        alert("Ich gehe zum JD!");
      },
      BD: () => {
        alert("Ich möchte zu Baidu!");
      },
    };
    geheWohin[Typ]();
  }


Das ist es!

Dies ist das Ende dieses Artikels zum Schreiben von React in einem Vue-Projekt. Weitere Informationen zum Schreiben von React in einem Vue-Projekt finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Einführung in die reaktive Funktion toRef-Funktion ref-Funktion in Vue3
  • Erfahren Sie, wie Sie Vue3 Reactivity implementieren
  • Detaillierte Analyse des Unterschieds zwischen Ref und Reactive in Vue3.0
  • Detaillierte Erklärung und Erweiterung von ref und reactive in Vue3
  • Detaillierte Erklärung der Verwendung von SetUp- und Reactive-Funktionen in Vue3
  • Die vollständige Verwendung von Setup, Ref und Reactive in der Vue3-Kombinations-API
  • Detaillierte Erklärung der drei wichtigsten Frontend-Technologien React, Angular und Vue
  • Unterschiede und Vorteile von Vue und React
  • Was sind die Unterschiede zwischen Vue und React?
  • Vue und React im Detail

<<:  Detaillierte Analyse der MySQL-Optimierung von like und = Leistung

>>:  So setzen Sie das Root-Passwort in Linux mysql-5.6 zurück

Artikel empfehlen

So erhalten Sie USB-Scannerdaten mit js

In diesem Artikel wird der spezifische Prozess zu...

Analyse der Informationsarchitektur von Facebook

<br />Original: http://uicom.net/blog/?p=762...

jQuery realisiert den Effekt der Sitzplatzauswahl und -reservierung im Theater

jQuery realisiert den Effekt der Sitzplatzauswahl...

Teilen Sie einige ungewöhnliche, aber nützliche JS-Techniken

Vorwort Programmiersprachen enthalten normalerwei...

jQuery erzielt einen atmenden Karusselleffekt

In diesem Artikel wird der spezifische Code von j...

Detaillierte Analyse der MySQL MDL-Metadatensperre

Vorwort: Wenn Sie eine SQL-Anweisung in MySQL aus...

Berechtigungen für Cross-Origin-Image-Ressourcen (CORS-fähiges Image)

Das HTML-Spezifikationsdokument führt das Crossor...

Detaillierte Erläuterung der gespeicherten Prozeduren und Funktionen von MySQL

1 Gespeicherte Prozedur 1.1 Was ist eine gespeich...

Methode für die Sicherheitseinstellungen des Tomcat-Servers

Tomcat ist ein HTTP-Server, der die offizielle Re...

Vue implementiert die browserseitige Code-Scan-Funktion

Hintergrund Vor nicht allzu langer Zeit habe ich ...