2017-11-09 17 views
1

私は反応ネイティブの世界では新しいです。私は2つの画面1)があります。ホーム2)。通知 ホームから通知画面にナビゲートしています。私が通知画面に入っているとき、その状態で戻るボタンを押すとホーム画面が更新されます。提案してください。反応ネイティブで戻るボタンを押すと、通知画面から前の画面に戻る

ありがとうございました!

+0

[子から親への反応のナビゲーション](https://stackoverflow.com/questions/46796087/pass-props-from-child-to-parent)の可能な複製-react-navigation) – bennygenel

答えて

2

少し詳細を教えてください。反応ナビゲーションのようなナビゲータを使用していますか? 子コンポーネントから親コンポーネントのメソッドをトリガーする場合は、propsを使用する必要があります。

あなたが自分でビューを管理しているのであれば、あなたは、このような何かを行うことができます。

export default class Wrapper extends Component 
{ 
    state = {screen: 'Home'} 

    useNewScreen = screenToUse => this.setState({screen: screenToUse}) 
    reloadHome =() => yourFunctionToRefreshThePage 

    render =() => 
    { 
     if (this.state.screen === 'Home') 
      return (<Home goToNotif={() => this.useNewScreen('Notif')} />); 
     else if (this.state.screen === 'Notif') 
      return (<Notif onGoBack={() => this.reloadHome()} />); 
    } 
} 

class Home extends Component 
{ 
    render =() => 
    { 
     return (
      <TouchableOpacity onPress={() => this.props.goToNotif()}/> 
     ); 
    } 
} 
class Notif extends Component 
{ 
    render =() => 
    { 
     return (
      <TouchableOpacity onPress={() => this.props.onGoBack()}/> 
     ); 
    } 
} 

あなたが反応し、ナビゲーションを使用している場合は、同じ考えを使用することができます。 あなたは新しいに移動します特別な小道具

this.props.navigation.navigate('Notif', { 
    onGoBack:() => this.refresh() 
}); 

そして、あなたが戻りたいとき、あなたはこの方法

this.props.navigation.state.params.onGoBack(); 
this.props.navigation.goBack(null); 
0123呼び出すことができますとページ

私はこれが十分にはっきりしていることを望みます:)

関連する問題