React Native:VirtualizedList仅渲染10个项目

时间:2017-04-13 15:34:08

标签: react-native

为什么这个VirtualizedList只渲染前应该渲染365的前10个项?如果我传递一个包含10个以上项目的data变量,它可以正常工作,但在使用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>
    );
  }
}

3 个答案:

答案 0 :(得分:5)

com.example.utente.myapp.MyObject@38540215 com.example.utente.myapp.MyObject@95713921 需要出席。

data

答案 1 :(得分:2)

当你给它一个getItem时,你仍然需要传递一个数据属性。 getItem只是您传递的数据变量的访问者。默认情况下,getItem定义为:

with os.scandir(path) as it:
    for entry in it:
        if not entry.name.startswith('.') and entry.is_file():
            print(entry.name)

答案 2 :(得分:0)

如果您需要20,可以尝试:

initialNumToRender={20}

而不是你的:

initialNumberToRender={20}

似乎API已更改:

VirtualizedList - React Native