我正在尝试显示一个包含86个项目的数据集的FlatList,但它只显示10个项目,并且不会加载更多项目。
我试着通过样式来调整容器的大小,但是没有效果。
return (
<View>
<Text>{this.state.cards.length}</Text>
<FlatList
data={this.state.cards}
renderItem={(theInfo) => <CardImage key={theInfo.key} info={theInfo}/>}
keyExtractor={(item, index) => item.toString()}
/>
</View>
);我预计这将显示86个项目(this.state.cards.length显示86个),应用程序仅显示10个项目,不会加载更多项目。
编辑: rn版本0.57.8
发布于 2019-01-22 14:54:45
您应该设置以下属性
initialNumToRender={50}因为默认值是10
来源:https://facebook.github.io/react-native/docs/flatlist#initialnumtorender
发布于 2019-05-09 09:27:50
将视图更改为ScrollView
更新的代码:
return (
<ScrollView>
<Text>{this.state.cards.length}</Text>
<FlatList
data={this.state.cards}
renderItem={(theInfo) => <CardImage key={theInfo.key} info={theInfo}/>}
keyExtractor={(item, index) => item.toString()}
/>
</ScrollView>
);发布于 2019-09-13 14:57:38
使用initialNumToRender不是一个合适的解决方案。它会影响处理,因为整个列表都是由flatList呈现的。如果你在项目中的任何地方使用动画,那么你可以在Animated.timing()中添加isInteraction: false参数,例如-
Animated.timing(
this.spinValue,
{
toValue: -1,
duration: 4000,
easing: Easing.linear,
isInteraction: false
}
).start( ()=> this.spin() )有关更多信息,您可以在react-native项目的问题中查看this注释。
希望这能对你有所帮助!
https://stackoverflow.com/questions/54302266
复制相似问题