2017-05-15 9 views
2

React Navigation with ReuxをReact Nativeで使用しています。 ナビゲーションはうまくいきますが、ある画面でgoBack()関数が機能しません。どうしてあなたに教えてくれますか?React-native-navigation:goBack()が動作しない

これは、ヘッダの設定である:

static navigationOptions = { 
     header: ({ state, goBack }) => { 
      return { 
       title: state.params.name, 
       right: (<Button 
        title={'Done'} 
        onPress={() => goBack()} 
       />) 

      } 
     } 
    } 

これは、送出されたイベントである:

enter image description here

のスクリーンがオフpopedされません。デバイスの画面は同じままです。あなたがあなたのビューでこのようなものにしなければならないのGoBack()アクションを使用する場合は

答えて

1

は私が

<Button onPress={() => this.props.navigation.goBack()}> 
+0

これもテスト済みです。 eatherを動作させません... react-native-navigation libaryの問題のようです: [gitHub Issue](https://github.com/react-navigation/issues/1522) – m43x

1

私は同じ問題を抱えている(ヘッダではない)、と思います。私はなぜかわからないが、goBack(null)は私のために働く:|ここで

0

github issueに掲載作業溶液です:

setTimeout(this.props.navigation.goBack, 0) 

どうやらこのバグは最近の回帰です。

0

これを解決する方法を示します。

これで私の作業コード: -

static navigationOptions = ({navigation, screenProps}) => { 
    return { 
     title:'SECOND', 
     headerStyle:{ backgroundColor: '#ffffff'}, 
     headerTitleStyle:{fontSize:12}, 
     headerLeft:<TouchableOpacity onPress={()=>navigation.goBack()}> 
         <Image source={{uri:'back_btn'}} style={{height: 20, width: 20,marginLeft:10,}}/> 
        </TouchableOpacity> 
    } 
    } 
0

このgithub issueに掲載ソリューションによります。 nullを引数としてgoBack関数に渡すことは、私にとってはうまくいくはずです。以下のコードはOPの場合に有効です:

static navigationOptions = { 
     header: ({ state, goBack }) => { 
      return { 
       title: state.params.name, 
       right: (<Button 
        title={'Done'} 
        onPress={() => goBack(null)} 
       />) 

      } 
     } 
    }