Реагируйте на заголовок собственного заголовка и кнопку не создали - PullRequest
0 голосов
/ 27 августа 2018

Кнопка «Назад» и заголовок не создаются в заголовке после сброса стека.

Код выполняется следующим образом.

StackNavigator -> TabNavigator -> reset -> StackNavigator ->TabNavigator -> StackNavigator

При нажатии кнопки на экране происходит переход к экрану с вкладками, а нажатие кнопки на экране с вкладками приводит к переходу на другой экран таблиц.

Навигатор.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, но заголовок неменять.Кроме того, при возврате к this.props.navigation.navigate обычно появляется кнопка «Назад», но не сейчас.

...