Estou procurando maneiras de implementar a rolagem infinita com React. Eu encontrei react-infinite-scroll e achei ineficiente, pois apenas adiciona nós ao DOM e não os remove. Existe alguma solução comprovada com React que irá adicionar, remover e manter um número constante de nós no DOM.
Aqui está o problema jsfiddle . Neste problema, quero ter apenas 50 elementos no DOM por vez. outros devem ser carregados e removidos conforme o usuário rola para cima e para baixo. Começamos a usar o React por causa de seus algoritmos de otimização. Agora eu não conseguia encontrar solução para este problema. Eu encontrei airbnb infinite js . Mas é implementado com Jquery. Para usar este scroll infinito airbnb, tenho que perder a otimização React, que não quero fazer.
o código de amostra que desejo adicionar à rolagem é (aqui estou carregando todos os itens. Meu objetivo é carregar apenas 50 itens por vez)
/** @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'));
Procurando ajuda ...