は、その後、あなたはどちらかのカメラのページでReset Navigation Actionを使用することができます。
import { NavigationActions } from 'react-navigation'
const resetAction = NavigationActions.reset({
index: 1,
actions: [
NavigationActions.navigate({ routeName: 'Home', params: this.props.navigation.state.params })
NavigationActions.navigate({ routeName: 'Info', params: this.props.navigation.state.params })
]
})
this.props.navigation.dispatch(resetAction)
必要になります。この方法:
- [ホーム]ページの上にある[情報]ページに移動します。これは、[戻る]ボタンが[ホーム]ページにつながることを意味します。
- 必要に応じて、パラメータを保持します。あなたがそれらを渡すだけではない場合。
この機能は、コンポーネント内/アクションクリエイター内部/戻るボタン内のどこにでも追加できます。
[戻る]ボタンと同じコードを追加します。この場合、あなたはカメラルートのnavigationOptionsにこれを追加する必要があります。
const backButton = ({ navigation }) => ({
headerLeft: <TouchableOpacity
onPress={() => {
// the code from above, except for import line and using navigation.whatever instead of this.props.navigation.whatever
}}
><Text>Back</Text> // this is a text of a back button, you could also use an icon
</TouchableOpacity>
});
ナビゲーター:
const MyStack = StackNavigator({
home: { screen: Home },
info: { screen: Info },
login: { screen: Login },
camera: { screen: Camera }, navigationOptions: backButton });
は私がなぜ「リセット」求めることができる。この場合のために検討中ではありませんか?私はあなたがアプリフローを複雑にしているか、React-Navigationライブラリを誤解していると思います。 – Eduard
スタック全体または最後のログインページだけをリセットしますか?ありがとう – SwimmingG
@Eduardスタック全体を削除しますが、ログインページを省略して直ちに再作成することができます。それがあなたがしたいことなら、私はどのようにあなたを示すことができます。 – Eduard