React-Methode zum Anzeigen von Daten auf Seiten

React-Methode zum Anzeigen von Daten auf Seiten

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>
        );
    }
}

Listenkomponente

Klassenliste 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 PageButton

Klasse 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:
  • React implementiert Paging-Effekt
  • Versuchen Sie selbst eine Paging-Komponente mit React zu schreiben (Zusammenfassung)
  • Reactjs implementiert den Beispielcode der universellen Paging-Komponente

<<:  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

Artikel empfehlen

Lösung für SQL Server-Datenbankfehler 5123

Weil ich ein Datenbank-Tutorial habe, das auf SQL...

Anwendungsszenario für die MySQL-Konfiguration mehrerer Instanzen

Inhaltsverzeichnis Mehrere MySQL-Instanzen Übersi...

Zusammenfassung der Ereignisse, die Browser registrieren können

HTML-Ereignisliste Allgemeine Ereignisse: onClick ...

Detaillierte Schritte zur Entwicklung von WeChat-Miniprogrammen mit Typescript

Auf die Vorteile von Typescript müssen wir nicht ...

So erhalten Sie die dynamische Anzahl der verbleibenden Wörter im Textbereich

Ich bin bei der Arbeit auf einen Fall gestoßen, ü...

Implementierung des CSS Fantastic Border Animation-Effekts

Heute habe ich auf der Blog-Site shoptalkshow ges...

Hinweise zum erweiterten Zeichengerätetreiber des Linux-Kernel-Gerätetreibers

/****************** * Erweiterter Zeichengerätetr...

Lassen Sie sich das Funktionsprinzip von JavaScript erklären

Inhaltsverzeichnis Browserkernel JavaScript-Engin...

Manjaro-Installation CUDA-Implementierungs-Tutorial-Analyse

Ende letzten Jahres habe ich im Dualsystem meines...

So installieren Sie Docker auf CentOS

Hier stellen wir nur die relativ einfache Install...

Detaillierte Erklärung zu Padding und Abkürzungen im CSS-Boxmodell

Wie oben gezeigt, sind Füllwerte zusammengesetzte...

Konfigurieren Sie ein Implementierungsbeispiel für den Mysql-Master-Slave-Dienst

Konfigurieren Sie ein Implementierungsbeispiel fü...

Lösung, wenn der Docker-Container nicht auf den Host-Port zugreifen kann

Ich bin kürzlich bei der Arbeit auf ein Problem g...