Ende letzten Jahres habe ich versucht, mit React eine Komponentenseite zu schreiben! Es gibt eine Listenseite, auf der die Daten seitenweise angezeigt werden Zeigen Sie die drei Hauptkomponenten an: übergeordnete Komponente „ListBox“, Listenkomponente „List“, Schaltflächenkomponente „PageButton“ Übergeordnete Komponente „listBox“const listData = [{ Schlüssel: „001“, idd:"001", Titel: „Webstorm stellt eine Verbindung zu GitHub für eine einfache Lagerverwaltung her“, Zeit:"2016-12-01", tag:" git ", Inhalt: „666666666666666!“ }] // Und so weiter und so fort für mehrere Daten. Klasse listBox erweitert Komponente { Konstruktor (Requisiten) { super(Requisiten); diese.pageNext=diese.pageNext.binden(diese); dies.setPage=diese.setPage.bind(diese); dieser.Zustand = { indexList:[], //Aktuell gerenderte Seitendaten totalData:listData, current: 1, //Aktuelle SeitenzahlpageSize:4, //Anzahl der pro Seite angezeigten ElementegoValue:0, //Anzahl der anzuzeigenden Elementeindex totalPage:0, //Gesamtzahl der Seiten}; } KomponenteWillMount(){ //Legen Sie die Gesamtzahl der Seiten fest this.setState({ totalPage:Math.ceil( dieser.Zustand.totalData.length/diese.Zustand.Seitengröße), }) diese.SeiteWeiter(dieser.Status.geheWert) } //Den Inhalt festlegen setPage(num){ dies.setState({ indexList:dieser.Zustand.Gesamtdaten.Slice(Anzahl,Anzahl+dieser.Zustand.Seitengröße) }) } SeiteWeiter (Nummer) { this.setPage(num) } rendern() { zurückkehren ( <div Klassenname="main"> <div Klassenname="obere_Leiste"> </div> <div Klassenname="Listen"> <ul Klassenname="index"> {this.state.indexList.map(Funktion (Forts.) { zurück <Liste {...cont} /> })} </ul> <PageButton { ...dieser.Zustand } pageNext={diese.pageNext} /> </div> </div> ); } } ListenkomponenteKlassenliste erweitert Komponente { Konstruktor(Requisiten) { super(Requisiten); } rendern() { const { idd, Titel, Zeit, Tag, Inhalt } = this.props zurückkehren ( <li id={idd}> <Link zu={`/list/listmore/${idd}`} > <h3>{Titel}</h3> <div Klassenname="Symbol"> <i className="fa fa-kalender"></i> <span>Veröffentlicht am {time} </span> <i className="fa fa-sitemap"></i> <span>Kategorisiert unter {tag} </span> <i Klassenname = "fa fa-edit"></i> <span>Noch keine Kommentare</span> </div> <p>{Inhalt}</p> <span className="mehr">mehr</span> </Link> </li> ); } } Schaltflächenkomponente PageButtonKlasse pageButton erweitert Komponente { Konstruktor(Requisiten) { super(Requisiten); dies.setNext=dieses.setNext.bind(dieses); dies.setUp = dies.setUp.bind(dies); dieser.Zustand={ Zahl: 0, Seitennummer:this.props.current } } //Nächste Seite setNext(){ wenn(dieser.Zustand.Seitennummer < diese.Props.Gesamtseite){ dies.setState({ num:dieser.Zustand.num + diese.Eigenschaften.Seitengröße, Seitennummer:dieser.Status.Seitennummer + 1 },Funktion () { console.log(dieser.Status) diese.props.pageNext(dieser.state.num) }) } } //Vorherige Seite setUp(){ wenn(dieser.Zustand.Seitennummer > 1){ dies.setState({ num:this.state.num - this.props.pageSize, Seitennummer:dieser.Zustand.Seitennummer - 1 },Funktion () { console.log(dieser.Status) diese.props.pageNext(dieser.state.num) }) } } rendern() { zurückkehren ( <div Klassenname="Seite_ändern"> <span onClick={ this.setUp } >Vorherige Seite</span> <span>{ this.state.pagenum } Seite / { this.props.totalPage } Seite </span> <span onClick={ this.setNext }>Nächste Seite</span> </div> ); } } Dies ist das Ende dieses Artikels zum Anzeigen von Daten im Paging-Modus in React. Weitere relevante Inhalte zum Paging-Modus in React 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:
|
<<: Lösen Sie die Probleme, die bei der Installation von MySQL 8.0 auf einem Win10-System auftreten
>>: Detaillierte Erläuterung des praktischen Protokolls zur Lösung der Netzwerkisolation durch Nginx
Dieser Artikel stellt ein interessantes Pseudoele...
Inhaltsverzeichnis Namespaces mit gleichem Namen ...
Inhaltsverzeichnis Zweck des Teleports So funktio...
registrieren Das Front-End verwendet Axios in Vue...
Ich bin auf die Anforderung gestoßen, Tastenkombi...
Inhaltsverzeichnis 1 Einleitung 2 Voraussetzungen...
Wenn Sie einer Option das Attribut selected = &quo...
An nationalen Trauertagen, Tagen mit schweren Erd...
Das sogenannte Verbindungslimit in Nginx ist tats...
Inhaltsverzeichnis Vorwort Grundlegende Verwendun...
Inhaltsverzeichnis 1. Hintergrund 2. Voraussetzun...
Inhaltsverzeichnis 1. v-for: Array-Inhalte durchl...
Die Lösung für die Hintergrundkachelung oder Rahme...
Überblick Ein Index ist eine vom DBMS basierend a...
Inhaltsverzeichnis 1. Erstellen Sie eine Wasserze...