Ich bin auf der Suche nach Möglichkeiten, unendliches Scrollen mit React zu implementieren. Ich bin auf react-infinite-scroll gestoßen und fand es ineffizient, da es nur Knoten zum DOM hinzufügt und sie nicht entfernt. Gibt es eine bewährte Lösung mit React, die eine konstante Anzahl von Knoten im DOM hinzufügt, entfernt und erhält.Unendliche Scrolling mit React JS
Hier ist das jsfiddle Problem. In diesem Problem möchte ich nur 50 Elemente im DOM zu einer Zeit haben. Andere sollten geladen und entfernt werden, wenn der Benutzer nach oben und unten scrollt. Wir verwenden React wegen seiner Optimierungsalgorithmen. Jetzt konnte ich keine Lösung für dieses Problem finden. Ich bin auf airbnb infinite js gestoßen. Aber es ist mit Jquery implementiert. Um diese Airbnb-Endlos-Scroll zu verwenden, muss ich die React-Optimierung verlieren, die ich nicht machen möchte.
Beispielcode i scroll hinzufügen möchten (hier i alle Elemente bin Laden. Mein Ziel nur 50 Gegenstände auf einmal zu laden ist)
/** @jsx React.DOM */
var Hello = React.createClass({
render: function() {
return (<li>Hello {this.props.name}</li>);
}
});
var HelloList = React.createClass({
getInitialState: function() {
var numbers = [];
for(var i=1;i<10000;i++){
numbers.push(i);
}
return {data:numbers};
},
render: function(){
var response = this.state.data.map(function(contact){
return (<Hello name="World"></Hello>);
});
return (<ul>{response}</ul>)
}
});
React.renderComponent(<HelloList/>, document.getElementById('content'));
Hilfe der Suche ...
Dies ist eine großartige Technik ... thx! Es schlägt jedoch fehl, wenn die recordHeight für jede Zeile unterschiedlich ist. Ich experimentiere mit einer Lösung für diese Situation. Ich werde es posten, wenn ich es zur Arbeit bekomme. – manalang
@manalang Haben Sie für jede Zeile eine Lösung für unterschiedliche Höhen gefunden? – Exception
@manalang Ich zweite das - noch Glück? –