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-21Wenn Sie lernen, wie man einen Hals und den Schultern zeichnet, kann es oft herausfordernd sein, die Bände in unserer Arbeit zu zeigen, da wir daran gewöhnt werden, die Menschen vorne zu se..
(Bild Kredit: Cindy Kang) Der beste Weg, um die Fotografie in die Illustration zu verwandeln, wird eine Welt der Mög..
[Bild: Albert Valls PunSich] Wenn Sie als 3D-Künstler auf Ihrem Spiel bleiben möchten, ist es wichtig, dass Sie ab ..
Photoshop ist ein perfektes Beispiel des Ganzen, der größer ist als die Summe seiner Teile, von denen es viele gibt; Ein übers..
Menschliche Nasen kommen in allen Formen und Größen. Es ist jedoch wichtig, die Grundlagen der Anatomie kennenzulernen, um eine..
Wenn Sie sich wiederholende Designs und Muster in eine Abbildung einbeziehen, sind nur wenige Werkzeuge so nützlich oder so leis..
Affinitätsfoto für iPad ist ein großartiger Foto Editor , aber wie ist der App von Serif, wenn es d..
Beleuchtung ist in irgendeiner Weise grundlegend 3D Art. Projekt, an dem Sie arbeiten. Auf der grundlegendsten Ebe..