2017-10-05 115 views
0

我试图让我的EditProfile页面在按“完成”后进入另一个页面。React Native保存表格

到目前为止,我已经得到它来“保存”更新/更改等。但保存后,我希望它导航到“主页”页面。

我可以把东西放入headerRight吗?或者把它放到updateUser中?

继承人是我迄今为止:

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

实际上我需要的是=当用户点击“完成”时=返回上一页。 ie:只需关闭其目前的屏幕。 – user2137200

回答

0

火力地堡update()方法返回一个承诺,你可以简单地追加。于是(()=> this.props.navigation.navigate(“家”))

+0

我会在哪里放?请说明它可以在哪里/如何使用。谢谢 – user2137200

+0

在updateUser函数中,firebase.database()。ref(“users”)。child(uid).update({about})。then(()=> this.props.navigation.navigate(“Home”) ) –