最佳答案
我正在寻找用 React 实现无限滚动的方法。我遇到过 反应-无限-卷轴,发现它效率低下,因为它只是向 DOM 添加节点,而不删除它们。是否有任何已证实的解决方案与反应,将添加,删除和维护在 DOM 中的节点数量不变。
这是 Jsfiddle的问题。 在这个问题中,我希望在 DOM 中一次只有50个元素。其他的应该在用户向上和向下滚动时加载和删除。 我们已经开始使用反应,因为它的优化算法。现在我找不到解决这个问题的办法。我遇到了 Airbnb 无限 J。但它是用 Jquery 实现的。要使用这个 Airbnb 无限滚动,我必须失去反应优化,我不想这样做。
示例代码,我想添加滚动是(在这里我加载所有项目。我的目标是一次只装载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'));
寻求帮助。