Je suis nouveau pour réagir natif et en parcourant un tutoriel, je me suis retrouvé coincé avec le défilement de FlatList. Sur le tutoriel avec le même code, je peux voir que la liste défile. J'utilise l'émulateur Android.
class LibraryList extends Component {
renderItem = ({ item }) => (
<ListItem library={item} />
);
render() {
console.log(this.props.libraries);
return (
<FlatList
data={this.props.libraries}
renderItem={this.renderItem}
keyExtractor={library => library.id.toString()}
/>
);
}
}
const mapStateToProps = state => {
return { libraries: state.libraries };
};
export default connect(mapStateToProps)(LibraryList);
3 Réponses :
Essayez d'encapsuler votre FlatList avec la View vide dont flex est 1 .
Donc, votre Le code de la méthode de rendu sera comme le code ci-dessous:
render() {
console.log(this.props.libraries);
return (
<View style={{flex:1}}>
<FlatList
data={this.props.libraries}
renderItem={this.renderItem}
keyExtractor={library => library.id.toString()}
/>
</View>
);
}
J'espère que cela vous aidera.
Essayez en appliquant flex à FlatList lui-même.
Essayez ce bloc de code (exemple, modifiez ce code personnel)
renderFlatList() {
return (
<FlatList
data={this.props.database}
ListHeaderComponent={() => this.renderAddFeedScool()}
renderItem={({ item }) => this.renderItem(item)}
/>
);
}
render() {
return (
<View style={_styles.container}>
{this.props.database.length > 0 ? (
this.renderFlatList()
) : (
<Text>Loading</Text>
)}
</View>
);
}
Styles..
container: {
flex: 1,
},
Code complet: https://github.com/VB10/Nativer/blob/master/src/view/tab/school/index.tsx
Et regardez https://facebook.github.io/ react-native / docs / flatlist et :) la solution finale utilise le composant de liste de base natif, je pense exactement que la solution https: / /docs.nativebase.io/Components.html#list-def-headref
Bon travail.
Essayez d'ajouter une liste de matières grasses dans un scrollview
<View style={styles.lastplayedlist}>
<ScrollView>
<FlatList
data={this.state.dataSource}
renderItem={({ item }) => {
const artist = item.artist === "" ? "" : ' by ' + item.artist;
return <Text style={styles.flatListItems}>{item.title + artist}</Text>
}
}
keyExtractor={(item, index) => index}
/>
</ScrollView>
</View>
pourriez-vous fournir un code en cours d'exécution: snack.expo.io ?
ListItemn'a pas d'accessoirelibrary.