this.props.getItemCount不是一个函数(VirtualizedList,React Native)

时间:2018-08-25 18:04:26

标签: javascript reactjs react-native

我从使用FlatList切换到VirtualizedList,但出现错误this.props.getItemCount is not a function。当我运行调试器时,从VirtualizedList.js抛出异常。

<VirtualizedList
    data={contacts}
    getItem={(data, index) => data[index]}
    getItemCount={data => data.length}
    renderItem={({ item }) => (
        <ContactListItem
        name={item.name}
        number={item.number}
        />
    )}
/>

2 个答案:

答案 0 :(得分:1)

与FlatList不同,VirtualizedList需要道具getItem和getItemCount(React Native Docs)。

<VirtualizedList
    data={contacts}
    getItem={(data, index) => data[index]}
    getItemCount={data => data.length}
    renderItem={({ item }) => (
        <ContactListItem
        name={item.name}
        number={item.number}
        />
    )}
/>

答案 1 :(得分:0)

如果您使用VirtualizedList仍然存在相同的错误,请使用SafeAreaView从react-native导入并在其中添加FlatList

import {FlatList,SafeAreaView} from 'react-native';
<SafeAreaView>
  <FlatList
    keyExtractor={(item, i) => item.id.toString()}
    data={favoriteFilm}
    renderItem={({item}) => (
      <FavoritesItemFilm
        title={item.title}
        description={item.overview}
        vote={item.vote_count}
        release={item.release_date}
        image={item.poster_path}
        id={item.id}
      />
    )}
  />
</SafeAreaView>