2016-04-21 23 views
2

Ich muss Unendlich-Scroll-Funktionen für feste Datentabelle implementieren. Ich habe das API-Dokument überprüft, es wurden keine Ereignisse ausgelöst, wenn der Benutzer zum Ende der Tabelle blättert. Das einzige hilfreiche Ereignis ist onScrollEnd, aber dieses Ereignis gibt mir scrollX und scrollY zurück. ScrollY ist ziemlich riesig, ich weiß nicht, wie man diese Nummer benutzt, um festzustellen, dass der Benutzer am Ende scrollt. Kann mir jemand sagen, wie ich Unendlich-Scroll-Funktion mit fester Datentabelle implementieren kann? Dankeunendlich scroll in reactjs feste Datentabelle

Antwort

0

Es ist eine Schande, dass solche Komponente nicht die richtige API für unendliche Scroll hat. Die Lösung ist dies (aber es ist hässlich):

Die onScrollEnd() gibt Ihnen einen Bildlauf-Wert. Sie müssen diesen Wert im Komponentenstatus beibehalten, z. this.state.scroll. Auf jedem onScrollEnd müssen Sie auf Gleichheit überprüfen:

this.state.scroll === nextState.scroll && nextState.scroll !== 0 // you dont want to load dada on scrollTop.

Wenn dies der Fall ist, können Sie zusätzliche Daten laden, Ihren Speicher oder Ihre vorhandenen Daten aktualisieren und die Komponente erneut rendern.

BIG PROBLEM: Die onScrollEnd() Funktion ist sehr, sehr langsam :(Vielleicht Entprellen/Throttling?