堆栈重置后,不会在 Headers 中创建后退按钮和 Headers . 代码进度如下 . StackNavigator - > TabNavigator - > reset - > StackNavigator - > TabNavigator - > StackNavigator单击屏幕上的按钮移动到选项卡式屏幕,按下选项卡式屏幕上的按钮移动到另一个tabless屏幕 .

Navigator.js

const SubScene = createStackNavigator({
 Sub1 = {screen: Sub1},
 Sub2 = {screen: Sub2},
 ...
)

const MainScene = createStackNavigator({
 BottomTab: {screen: BottomTab},
 SubScene: {screen: SubScene},
 ...
)

const SignUpScene = createStackNavigator({
 SignUp: {screen: SignUp},
 }, ...

const SigninScene = createStackNavigator({
 HomeUI: {screen: HomeUI},
 TopTab: {screen: TopTab},
 Screen1: {screen: Screen1},
 SignUpScene: {screen: SignUpScene},
 MainScene: {screen: MainScene},
}, ...

const HomeScene = createStackNavigator({
 SigninScene: {screen: SigninScene},
}, ...

export default class Navigator extends Component {
 render() {
  return(
   <HomeScene />
  );
 }
}

Screen1.js

...
_onPressSubmitButton() {
const resetAction = StackActions.reset({
 index: 0,
 actions: [
  NavigationActions.navigate({routeName: 'MainScene'}))
 ]
})
this.props.navigation.dispatch(resetAction);
...

BottomTab.js

export defaults BottomTab = createMaterialTopTabNavigator({
Sub1: {screen: Sub1, ...}, 
...
})

Sub1.js

...
_onPressBtn(item) {
this.props.navigation.navigate('Sub2', {name: item.name});
...

Sub2.js

...
componentWillMount() {
 const {setParams} = this.props.navigation;
 setParams({name: this.props.name});
}

static navigationOptions = ({navigation}) => {
 const {state} = navigation;
 if (state.params != undefined) {
  return {
   title: state.params.name,
  }
 }
}
...

我继续像sub2.js,但 Headers 没有改变 . 此外,回到this.props.navigation.navigate通常会产生一个后退按钮,但现在不行 .