Skip to content

Router can't go back on tabs not first selected. #132

@erdostom

Description

@erdostom

In my app, a tabbar is rendered for the initial load. If I switch to Tab2, push a route (register), I can't go back bc of following error. Code below.

screen shot 2016-01-18 at 22 04 54

'use strict';

var React = require('react-native');
var {AppRegistry, Navigator, StyleSheet,Text,View} = React;
var Launch = require('./components/Launch');
var Register = require('./components/Register');
var Login = require('./components/Login');
var Login2 = require('./components/Login2');
var {Router, Route, Schema, Animations, TabBar} = require('react-native-router-flux');
var Error = require('./components/Error');
var Home = require('./components/Home');
var TabView = require('./components/TabView');

class TabIcon extends React.Component {
    render(){
        return (
            <Text style={{color: this.props.selected ? 'red' :'black'}}>{this.props.title}</Text>
        );
    }
}

class Header extends React.Component {
    render(){
        return <Text>Header</Text>
    }
}

export default class Example extends React.Component {
    render() {
      return (
        <Router hideNavBar={true} >
          <Schema name="modal" sceneConfig={Navigator.SceneConfigs.FloatFromBottom}/>
          <Schema name="default" sceneConfig={Navigator.SceneConfigs.FloatFromRight}/>
          <Schema name="withoutAnimation"/>
          <Schema name="tab" type="switch" icon={TabIcon} />

          <Route name="tabbar">
            <Router footer={TabBar} showNavigationBar={false}>
              <Route name="tab1" schema="tab" title="Tab #1" >
                <Router onPop={()=>{console.log("onPop is called!"); return true} }>
                  <Route name="tab1_1" component={TabView} title="Tab #1_1" />
                  <Route name="tab1_2" component={TabView} title="Tab #1_2" />
                  <Route name="register" component={Register} title="Register"/>
                </Router>
              </Route>
              <Route name="tab2" schema="tab" title="Tab #2" >
                <Router onPop={()=>{console.log("onPop is called!"); return true} }>
                  <Route name="tab3_1" component={TabView} title="Tab #1_1" />
                  <Route name="register" component={Register} title="Register"/>
                </Router>
              </Route>
              <Route name="tab3" schema="tab" title="Tab #3" component={TabView} />
              <Route name="tab4" schema="tab" title="Tab #4" component={TabView} />
              <Route name="tab5" schema="tab" title="Tab #5" component={TabView} />
            </Router>
          </Route>
        </Router>
      );
    }
}

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions