通过 react-native-router-flux 在本机基础页脚选项卡中导航

navigation in native base footer tab by react-native-router-flux

我是 React Native 的新手。在我的 React 项目中,我使用本机基础页脚选项卡,我需要通过路由器通量在选项卡之间导航,因为通过路由器通量初始化项目。有人能帮我吗?谢谢。

<Footer>
    <FooterTab style={{ backgroundColor: '#FB8700' }}>
        <Button vertical onPress={() => { this.setState({searchactive:true,addactive:false,settingactive:false,Selecteditem:'Search'}) }} active={this.state.searchactive} >
            <Icon name="search" type='Ionicons' style={tabsstyle.IconS} />
            <Text style={tabsstyle.TextS}>search</Text>
        </Button>
        <Button vertical onPress={() => { Actions.add(),this.setState({addactive:true,searchactive:false,settingactive:false,Selecteditem:'Add'}) }} active={this.state.addactive} >
            <Icon name="person-add" type='Ionicons' style={tabsstyle.IconS} />
            <Text style={tabsstyle.TextS}>add</Text>
        </Button>
        <Button vertical onPress={() => { this.setState({settingactive:true,addactive:false,searchactive:false,Selecteditem:'Setting'}) }} active={this.state.settingactive}>
            <Icon name="settings" style={tabsstyle.IconS} />
            <Text style={tabsstyle.TextS}>setting</Text>
        </Button>
    </FooterTab>
</Footer>

和app.js代码

      <Router hideNavBar="true">
        <Scene key="root">
          <Scene key="index" component={index} hideNavBar={true} initial={true} />
          <Scene key="login" component={login} title="" />
          <Scene key="register" component={register} title="" />
          <Scene key="forgetpass" component={forgetpass} title="" />
          <Scene key="tabs" component={tabs} hideNavBar={true} title="" />
          <Scene
            key="tabbar"
            tabs={true}
            tabBarStyle={{ backgroundColor: '#FFFFFF' }}
          >
              <Scene key="search" component={search} hideNavBar={true} title="" />
              <Scene key="add" component={add} hideNavBar={true} title="" />
              <Scene key="setting" component={setting} hideNavBar={true} title="" />
          </Scene>
        </Scene>

      </Router>

您可以在将 <Footer /> 声明为常量后添加以下属性 tabBarComponent,如下所示:

<Scene
  key="tabbar"
  tabs={true}
  tabBarStyle={{ backgroundColor: '#FFFFFF' }}
  tabBarComponent={footer} // <-- this
>

我还提供了一个 snack,您可以在其中进一步试验 react-native-router-flux。玩得开心!