2017-10-05 77 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」) ) –