2017-10-05 12 views
0

J'essaie d'obtenir ma page EditProfile pour aller simplement à une autre page après avoir appuyé sur "Terminé". Jusqu'à présent, je l'ai eu pour "sauvegarder" les mises à jour/changements, etc. Mais après l'enregistrement, je veux qu'il accède à la page d'accueil.React Native Enregistrer le formulaire

Puis-je mettre quelque chose dans headerRight? Ou le mettre dans updateUser?

Heres ce que j'ai jusqu'à présent:

headerRight: (
    <TouchableHighlight 
    //onPress={() => this.props.navigation.navigate('Home')} 
    onPress= {navigation.state.params.updateUser}> 
    <Text style={{color:'red', marginRight: 5, fontSize:17, fontWeight: '600'}}>Done</Text> 
    </TouchableHighlight> 
) 



updateUser =() => { 
    const about = this.state.about 
    const {uid} = this.props.navigation.state.params 
    //const {navigate} = this.props.navigation.navigate('Home') 
    firebase.database().ref('users').child(uid) 
    .update({about}) 
} 



    <TextInput 
    style={{height: 150, color: 'grey', fontSize:14, padding: 20, paddingTop: 10, borderColor: '#d3d3d3', backgroundColor:'#fcfcfc', borderWidth: 1}} 
    multiline = {true} 
    numberOfLines = {5} 
    onChangeText={val => this.setState({about:val})} 
    value={this.state.about} 
    /> 
+0

En fait, ce que j'ai besoin de faire est = Lorsque l'utilisateur clique sur "Terminé" = retourner à la page PRECEDENT sur laquelle il était allumé. ie: Fermez l'écran pour le moment. – user2137200

Répondre

0

mise à jour Firebase() retourne une promesse et vous pouvez simplement ajouter .alors (() => this.props.navigation.navigate (« Home »))

+0

Où pourrais-je mettre ça? Pls montrent où/comment il peut être utilisé. Merci – user2137200

+0

Dans la fonction updateUser, firebase.database(). Ref ("users"). Enfant (uid) .update ({about}). Then (() => this.props.navigation.navigate ("Accueil")) –