0
为什么VirtualizedList只渲染应该渲染365的前10个项目?如果我通过一个data
变量与超过10个项目它工作正常,但失败时,我使用getItem
方法。React Native:VirtualizedList只渲染10个项目
export default class ListTest extends Component {
render() {
return (
<View>
<VirtualizedList
initialNumberToRender={20}
windowSize={21}
getItemCount={(data) => 365}
getItem={(data, index) => {
return { key: index };
}}
keyExtractor={(item, index) => {
return item.key;
}}
renderItem={({ item, index }) => {
return (
<View style={{height:50}}>
<Text>{item.key}</Text>
</View>
);
}}
/>
</View>
);
}
}
我不认为我理解。如果我不使用数据变量并重写getItem(),为什么它会导致列表被限制为10个项目? – mathew
@Nwah是正确的,您必须将一个数据道具传递给将被渲染的VirtualizedList组件。您看到10个项目呈现的原因是因为虚拟化列表默认情况下会在窗口中呈现10个项目。由于您的渲染项目组件实际上不能访问项目数据,但只有密钥,您仍然可以获得适当的渲染。如果您尝试访问renderItem prop中的项目,将会出现渲染错误。 – Anton