我正在寻找使用React实现无限滚动的方法.我遇到了react-infinite-scroll并发现它效率低,因为它只是向DOM添加节点而不删除它们.有没有经过验证的React解决方案,它将在DOM中添加,删除和维护恒定数量的节点.
这是jsfiddle问题.在这个问题中,我希望一次只有DOM中的50个元素.当用户向上和向下滚动时,应加载和删除其他内容.我们已经开始使用React,因为它的优化算法.现在我找不到解决这个问题的方法.我遇到过airbnb无限的js.但是它是用Jquery实现的.要使用这个airbnb无限滚动,我必须松开我不想做的React优化.
示例代码我想添加滚动是(这里我正在加载所有项目.我的目标是一次只加载50个项目)
/** @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'));
Run Code Online (Sandbox Code Playgroud)
寻求帮助......