In diesem Tutorial gehen wir durch So erstellen Sie eine App verwendet Reagieren - Eine JavaScript-Bibliothek zum Bauen von Benutzeroberflächen. Dies Webdesign-Tool ist besonders nützlich, wenn es um die Kreation der Bauteile geht, wodurch erhebliche Vorteile über etwas wie Jquery bietet.
Die Fähigkeit, in sich geschlossene, wiederverschließbare Komponenten zu erstellen, bedeutet, dass Sie den Code kleiner und organisierter halten können. Wenn Komponenten gut genug eingerichtet sind, können sie gegebenenfalls eingeräumt werden, wenn nötig, ohne zusätzliches Setup, das überhaupt erforderlich ist.
In diesem Tutorial erstellen wir eine Armaturenbrettanwendung, die wichtige Unterstützungsmetriken im Auge behält. Der Bildschirm wird in ein Gitter aufgeteilt, das angepasst werden kann, um unterschiedliche Visuals abhängig von den dargestellten Daten anzuzeigen.
Möchten Sie eine Website anstelle einer App erstellen? Sie brauchen unsere Guides zum Besten Webseitenersteller und Web-Hosting Bedienung.
Durch die Erstellung einer generischen Widget-Komponente können wir das Display hacken und ändern, ohne den zugrunde liegenden Code zu beeinträchtigen. Mit der Wrappung dieser in einer Containerkomponente können wir die von der Anzeige getrennte Quelle dieser Daten steuern.
Wir werden benutzen CSS-Grid. Inhalte in definierten Blöcken anzeigen. Browser, die es nicht unterstützen, werden in einer einzelnen Spalte angezeigt, ähnlich, wie Sie einen kleineren Bildschirm verwenden.
Laden Sie die Dateien für dieses Tutorial herunter Hier .
Nachdem Sie die Projektdateien erhalten (und einspeichern Cloud-Speicherung. ), müssen wir alle erforderlichen Pakete herunterfahren, die wir für das Projekt benötigen. Dazu gehören Dateien von 'Create-React-App', die sich mit dem Build-Prozess für uns befasst.
Wir müssen auch zwei Server ausführen - eine, die ein heißes Nachladen für die Seite und einen anderen bietet, der einige gefälschte Daten bereitstellt, um zu testen.
Geben Sie in der Befehlszeile das Folgende in das Projektverzeichnis ein:
/ * in einem Fenster * /
& gt; Garn install.
& gt; Garn-Start
/ * in einem anderen Fenster * /
& gt; Garn dienen
Um die Dinge aus zu starten, rendern wir eine einfache Komponente auf der Seite. Mit Babel-Setup können wir Komponenten mit ES2015-Klassen schreiben. Alles, was wir tun müssen, ist, sie zu importieren, wenn wir müssen, und Babel mit WebPack wird den Rest erledigen.
Aufmachen /src/components/app.js. und fügen Sie den Import zum Anfang der Seite hinzu. Stellen Sie dann in der Render-Funktion die Komponente in den Container auf & lt; div & gt; .
Import-Widget von
'../components/widget';
[...]
& lt; div classname = "app" & gt;
& lt; Widget / & gt;
& lt; / div & gt;
Auf diesem Projekt wird WebPack eingerichtet, um CSS-Importe abzuholen. Dies bedeutet, dass wir CSS-Dateien im Vorherigen Schritt mit JavaScript-Dateien importieren können, wodurch es uns ermöglicht, separate Dateien für jede Komponente zu erstellen. Fügen Sie den folgenden Import an die Spitze von Widget.js hinzu. Dadurch verknüpft das Classname 'Widget' und scope die Stile auf diese Komponente.
Import '../styles/widget.css';
Jedes Widget benötigt eine kurze Beschreibung, welche Daten angezeigt werden. Um die Dinge anpassbar zu halten, geben wir dies als Eigenschaft - oder "Prop" - an, wenn wir sie verwenden.
Setzen Sie den Inhalt für den Inhalt eine spezielle "Kinderstütze" an, die den Inhalt enthält, der zwischen den Öffnungs- und Schlachtags der Komponente eingegeben wird.
Ersetzen Sie den Platzhalter & lt; p & gt; in der Render-Funktion mit den folgenden. Die Ladekomponente wird später in das Spiel kommen.
& lt; div classname = "header" & gt;
& lt; H2 & GT; {this.props.heading} & lt; / h2 & gt;
{this.props.loading? & lt; Laden / & GT;: ""}
& lt; / div & gt;
& lt; div classname = "content" & gt;
{this.props.children}
& lt; / div & gt;
Zusätzlich zu den importierten Stylesheets können wir auch Reaktionsstile erstellen, die dynamisch auf der Grundlage der durchgeführten Requisiten erstellen können.
Verwenden Sie zum Speichern von Spalten und Zeilen mit CSS-Raster die Eigenschaften der Gitterspalte und die Gitterzeile. Wir können 'Colspan' und 'Rowspan' Requisiten passieren, um diese pro Komponente auf ähnliche Weise zu ändern, wie Tischzellen in HTML funktionieren.
Anwenden von Styles im Widget-Konstruktor und verknüpfen Sie sie mit dem Container & lt; div & gt; .
if (props.colspan! == 1) {
das.Panstyles.GridColumn.
= `span $ {props.colspan}`;
}
if (props.rowspan! == 1) {
This.spanstyles.gridrow.
= `span $ {props.rowspan}`;
}
[...]
& lt; div style = {the.spanstyles}
classname = "widget" & gt;
Im Moment ist unser Widget leer, da wir noch keine Requisiten liefern. In diesen Fällen können wir stattdessen Standard-Requisiten liefern.
Sofern nicht anders gesagt, dass CSS-Raster die kleinste Einheit aufnehmen kann, die in diesem Fall ein 1x1-Quadrat ist. Kurz bevor wir das Widget exportieren, liefern Sie diese Effekte einige standardmäßige Requisiten.
Widget.DefaultProps = {
Überschrift: "Unbenannte Widget",
Colspan: 1,
Rowspan: 1.
}
Komponenten können Hinweise dazu bereitstellen, welche Art von Werten als Requisiten gesendet werden sollen. Bei der Entwicklung einer Anwendung werden in der Konsole falsch bestandene Requisiten in der Konsole angezeigt, da Warnungen dazu beitragen, Fehler in der Leitung zu vermeiden.
Nur unter den Standard-Requisiten, definieren Sie, welche Requisiten eingeleitet werden müssen oder müssen, und welche Art, die sie sein sollten.
widget.proplypes = {
Rubrik: reag.proplypes.string,
Colspan: reagieren.proplypes.number,
Rowspan: reagieren.proplypes.number,
Kinder:
Reagieren.proplypes.Element.Erement
}
Durch die Definition der 'Kinderstütze nach Bedarf können Sie feststellen, dass der derzeit nicht definierte Browser erklagt. Während dies die App nicht bricht, wird es uns immer wieder bereist, bis er sortiert ist.
Fahren Sie zurück zu App.js und fügen Sie das Widget, das wir früher erstellt haben, zurück zu app.js zurück. Anstatt das Tag selbstschloss zu machen, öffnen Sie es auf und fügen Sie einige Platzhalterinhalte hinzu, um zu zeigen, dass es funktioniert.
& lt; Widgetüberschrift = "offene Ticket insgesamt" & GT;
& lt; p & gt; das ist ein paar content & lt; / p & gt;
& lt; / widget & gt;
Die NummerDisplay-Komponente funktioniert ähnlich wie das gerade erstellte Widget - es macht einige Texte, die rein auf den Requisiten basiert, auf den Requisiten. Wir können es löschen, wo wir ein konsistentes Display numerischer Daten benötigen.
Importieren Sie die Nummernkomponente oben und verwenden Sie sie, um den Platzhalterinhalt zu ersetzen, den Sie gerade in Widget hinzugefügt haben.
ImportnummerDisplay von '../components/numberdisplay';
[...]
& lt; numberdisplay max = {9} Wert = {5} / & gt;
Im Moment gibt es ziemlich viel Code, der verwendet wird, um etwas zu zeigen, das sich nicht über Widgets ändert. Wir können eine spezielle Komponente erstellen, um alle davon einzukapseln. Auf diese Weise müssen wir nur numberwidget importieren.
Ersetzen Sie das Import von Widget und NumberDisplay an der Spitze von app.js mit numberwidget. Stellen Sie sicher, dass Sie sie auch in der Rendermethode ersetzen.
Importieren Sie numberwidget von
'../components/numberwidget';
[...]
& lt; numberwidget
Rubrik = "Offene Ticket insgesamt"
Max = {9} Wert = {5} / & gt;
Nächste Seite: Füllen Sie Ihre Dashboard-App in Reaging aus
Aktuelle Seite: Machen Sie eine Dashboard-App in Reaging - Schritte 1-10
Nächste Seite Machen Sie eine Dashboard-App in Reaging - Schritte 11-21(Bildkredite: Brendan McCaffrey (Original-Konzept von Clara McCaffrey)) PureRef ist ein großartiges Beispiel für ei..
(Bildkredite: Ryan Kingslien) Die Erneuerung der menschlichen Figur ist eines der härtesten Herausforderungen, denen..
Die letzten zwei bis drei Jahre haben gesehen, dass Layout in Sprünge und Grenzen vorankommen. Nachdem diese modernen Techniken ..
Maschinelles Lernen. Tiefes Lernen. Verarbeitung natürlicher Sprache. Computer Vision. Automatisierung. Spracherkennung. Sie hab..
Seite 1 von 2: Seite 1 Seite 1 Seite 2 Dieser Workshop wird Ihnen d..
Frontendentwickler neigen dazu, in Rechtecken zu denken; Rechtecke in Rechtecken in Rechtecken in Rechtecken in Rechtecken. Wir k..
Egal Ihrer endgültigen Verwendung, die meisten Szenen, die auf einer künstlichen Struktur zentriert sind, profitieren von einem..
Mit dem Zusatz der CARA VR-Plugin. Zu Nuke haben wir jetzt ein leistungsstarkes Werkzeug zur Verfügung, um unsere 360-Footage zu nähen und zusammenzusetzen. In..