为什么此VirtualizedList在应呈现365时仅呈现前10个项目?如果我传递的data变量具有10个以上的项目,则可以正常工作,但是当我使用getItem方法时失败。

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时,您仍然必须传递一个data属性。 getItem只是您传递的数据变量的访问器。默认情况下,getItem定义为:

 static defaultProps = {
    disableVirtualization: false,
    getItem: (data: any, index: number) => data[index],
    ...

关于react-native - React Native:VirtualizedList仅渲染10个项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43396376/

10-10 19:06