Comment faire pour qu'une liste plate passe à l'écran suivant lorsque l'on clique sur une ligne à l'intérieur de la liste plate en natif réactif?
Edited: J'ai posté tous les codes dans mon fichier JS.
Voici mon code flatlist:
import React, { Component } from 'react';
import {
StyleSheet,
Text,
View,
FlatList,
Button,
TouchableOpacity,
TouchableHighlight
} from 'react-native'
const Tasks = (props) => {
const { navigate } = props.navigation;
return (
<View style={styles.container}>
<FlatList
data={[
{key: 'Task 1'},
{key: 'Task 2'},
{key: 'Task 3'},
{key: 'Task 4'},
{key: 'Task 5'},
]}
renderItem={({item}) => <TouchableHighlight onPress={() => this.goToNextScreen()}>
<Text style={styles.item}>{item.key}</Text>}
</TouchableHighlight>}
/>
<TouchableOpacity style={{ height: 50, marginTop: 5, marginLeft: 100, marginRight: 100 }}>
<Button
onPress={()=>navigate('Steps')}
title="Steps"
/>
</TouchableOpacity>
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
paddingTop: 22
},
item: {
padding: 10,
fontSize: 18,
height: 44,
},
})
Tasks.navigationOptions = {
title: 'Task Order',
};
export default Tasks
j'ai un exemple simple pour cela:
//Tasks Component
const Tasks = (props) => {
const { navigate } = props.navigation;
//function to go to next screen
goToNextScreen = () => {
return navigate('Detail');
}
return (
<View>
<FlatList
data={[
{key: 'Task 1'},
{key: 'Task 2'},
{key: 'Task 3'},
{key: 'Task 4'},
{key: 'Task 5'},
]}
renderItem={({item}) => {
return(
<TouchableHighlight onPress={() => this.goToNextScreen()}>
<Text >{item.key}</Text>
</TouchableHighlight>
)
}
}
/>
</View>
);
}
//example for detail screen
const Detail = (props) => {
const { navigate } = props.navigation;
return(
<View><Text>Detail Screen</Text></View>
);
}
//initial screen
const App = StackNavigator({
Tasks: {screen: Tasks},
Detail: {screen: Detail},
})
peut peut-être vous aider, merci :)