我正试图通过FlatList
和VirtualizedList
组件来实现这一点,遗憾地提出了这个警告:
flexWrap: wrap
,那么FlatList可以完美地满足我的需求。有没有办法达到我想要的任何其他组件?
我需要查看回收以确保一切都保持高效,因为Il一次最多有500个项目。我已经看过各种网格视图库,但它们并不合适,因为它们会强制你指定多个列,我只想让我的标签(可变宽度)适合它们可以在左边对齐的位置。
下面是我用于此示例的代码:
import React from 'react';
import { StyleSheet, Text, View, Component, FlatList } from 'react-native';
class MyListItem extends React.PureComponent {
render() {
return (
<Text
style={styles.text}>
{this.props.testing}
</Text>
)
}
}
export default class App extends React.Component {
render() {
_renderItem = ({item}) => (
<MyListItem
testing={item}
/>
);
items = []
for (var i = 0; i < 500; i++) {
items[i] = "asdi"+i
}
return (
<View style={styles.container}>
<FlatList
data={items}
renderItem={_renderItem}
keyExtractor={item => item}
contentContainerStyle={styles.list}
/>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
},
list:{
flexDirection: 'row',
flexWrap: 'wrap',
},
text:{
backgroundColor: "rgb(90, 90, 90)",
marginBottom:10,
margin:4,
padding:5,
alignSelf: "flex-start",
flexDirection: 'row',
flex: 1,
}
});