我的本地反应技巧是基本的,所以我想在两列中呈现项目,我使用这个库https://github.com/GeekyAnts/react-native-easy-grid。
componentDidMount() {
return fetch(ConfigApp.URL+'json/data_posts.php')
.then((response) => response.json())
.then((responseJson) => {
this.setState({
isLoading: false,
dataSource: responseJson
}, function() {
});
})
.catch((error) => {
console.error(error);
});
}
返回
return (
<Grid>
<Col><FlatList
data={ this.state.dataSource }
refreshing="false"
renderItem={({item}) =>
<TouchableOpacity activeOpacity={1}>
<ImageBackground source={{uri: ConfigApp.IMAGESFOLDER+item.post_image}} style={styles.background_card}>
<LinearGradient colors={['rgba(0,0,0,0.6)', 'rgba(0,0,0,0.9)']} style={styles.gradient_card}>
<Text style={styles.category_card}>{item.category}</Text>
<Text style={styles.title_card}>{item.post_title}</Text>
<Text style={styles.subcategory_card}>{item.date}</Text>
</LinearGradient>
</ImageBackground>
</TouchableOpacity>
}
keyExtractor={(item, index) => index}
/>
</Col>
</Grid>
);
答案 0 :(得分:1)
由于FlatList
已经支持numColumns
,因此您可以
示例强>
const data = [1,2,3,4]
<FlatList
data={data}
numColumns={2}
renderItem={(item) => <View style={{flex: 1, height: 200, margin: 5, backgroundColor: 'red'}}/>} // Adding some margin
/>