Je suis en train d'emballer les articles touchables suivant this tortialTouchableXXX sera automatiquement déclenchée lorsque l'application démarre à reactnative
Et le problème que je trouve que la navigation sera déclencheur automatique par le lancement de l'application, il naviguera au page de détail sans appuyer dessus. Et lorsque vous revenez en arrière, les éléments touchables ne peuvent plus être pressés, une fois pressés, une erreur sera levée.
J'ai fait une application minimum pour inculper que sur:
import React , { Component } from 'react';
import { StyleSheet,FlatList, Text, View,TouchableOpacity } from 'react-native';
import {
StackNavigator,
} from 'react-navigation';
class Detail extends Component {
static navigationOptions = {
title: "Detail",
};
render(){
return(
<View>
<Text>{this.props.value}</Text>
</View>
);
}
}
class MyItem extends Component{
render(){
return(
<View>
<TouchableOpacity onPress={this.props.nav("Detail", {value: this.props.value})}>
<Text> {this.props.value}</Text>
</TouchableOpacity>
</View>
);
}
}
class Home extends React.Component {
static navigationOptions = {
title: "Home",
};
render() {
const {navigate} = this.props.navigation;
return (
<View style={styles.container}>
<FlatList
data = {[
{key: "1"},
{key: "2"},
{key: "3"}
]
}
renderItem = {({item}) => <MyItem nav={navigate} value={item.key} />}
/>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
const App = StackNavigator({
Home: { screen: Home },
Detail: { screen: Detail },
})
export default App
Comme il est très difficile de décrire ce problème avec mon mauvais anglais, j'ai aussi fait un youtube video (about 20M) pour inculper ce problème
Salut, merci. cela fonctionne, stupide sur moi – armnotstrong
Et pourriez-vous donner un exemple si je veux faire une fonction _onPressButton (value) 'comme le fait le didacticiel avec cette situation? Merci. Je ne sais pas comment passer tous ces paramètres à la fonction. – armnotstrong
J'ai mis à jour ma réponse, faites-moi savoir si des problèmes surviennent. – Dan