这是about page的组件结构。 这里的内容取自“原生基地”
从 ‘ react ‘ 导入 React,{Component} ; 从 ‘ react-native ‘
导入 {Text} ; 从 ‘ native-base ‘ 导入 {Content} ; export default class 关于 extends Component { constructor(){ } render (){ return ( <Content> </ Content> ); } } 模块。 export = 关于 ;
news.js 
按照以下代码创建新闻组件。 
React Native Router Navigations
安装路由器包 
按照此命令安装路由包。 确保重新启动react本机服务器。 
$ npm install react-native-router-flux --save
index.ios.js 
导入和新闻页面到indes.ios.js。 还从react-native-router-flux导入路由器。 在路由器内部提到您正在使用的所有组件。 这里appBody指的是feed组件,你可以将appBody重命名为feed。 
从 ‘ react ‘ 导入 React,{Component} ; 从 ‘ react-native ‘ 
导入 {AppRegistry,View,Text} ; 从 ‘ native-base ‘ 导入 {Container,StyleProvider,Header,Left,Right,Icon,Button,Body} ; 从 ‘./src/themes/components‘ 导入 getTheme ; 从 ‘./src/themes/variables/nineLessons‘ 导入 nineLessons ; 从 ‘ ./src/components/appHeader ‘ 导入 AppHeader ; 从 ‘ 导入 AppFooter ‘ 
./src/components/appFooter ‘; 从 ‘ ./src/components/appBody ‘ 
导入 appBody ; 从 ‘ ./src/components/pages/news ‘ 导入 新闻 ; 从 ‘ ./src/components/pages/about ‘ 导入 关于 ; 从 ‘ react-native-router-flux ‘ 导入 {Router,Scene} ; export default class ReactNativeBlogApp extends Component { render(){ return( <StyleProvider style = {getTheme(nineLessons)}> <Container> <Router> 
<Scene key =“root”>  <Scene key =“feed”component = {  appBody  } title =“Feed”/>  <Scene key =“about”component = {  About  } title =“About”/>  <Scene key = “news”component = {  News  } title =“News”/>  </ Scene>  </ Router>            <AppFooter />          </ Container>        </ StyleProvider>      );    }  } AppRegistry.registerComponent( ‘ReactNativeBlogApp‘,()=> ReactNativeBlogApp); 
appFooter.js 
在appFooter.js中,将所有组件包含在应用程序页脚部分的选项卡按钮中。 
从 ‘ react ‘ 导入 React,{Component} ; 从 ‘ react-native ‘ 
导入 {Image,StyleSheet} ; 从 ‘ native-base ‘ 导入 {Footer,FooterTab,Icon,Button,Text} ; 从 ‘ react-native-router-flux ‘ 导入 {Actions} ; export default class AppFooter extends Component { constructor (){ } render (){ return ( <Footer> <FooterTab> <Button active onPress 
= { Actions .feed}> <Icon name =“ios-egg”/> 
<Text> Feed </ Text> 
</ Button> 
<Button onPress = { Actions .news}> <Icon name =“paper”/> 
<文本>新闻</ Text> 
</ Button> 
<按钮 onPress = { Actions .about}> <Icon name =“contact”/> 
<Text>关于</ Text> 
</ Button> 
</ FooterTab> 
</ Footer> 
); 
} 
} 
模块。 export = AppFooter ;
多个操作 
还包括appFooter.js中的以下代码。 当按下或激活任何标签按钮时,相应地调用该方法。 
tabAction (tab){ 
if(tab ===‘ feed ‘){ 
Actions。 feed (); 
} else if(tab ===‘ news ‘){ 
Actions。 新闻 (); 
} else { 
动作。 约 (); 
} 
}
函数调用 
下面是通过按页脚下面的3个选项卡中的任何一个来调用tabAction方法所包含的行。 
<按钮激活 onPress = {()=> {this。 tabAction (‘ feed ‘)}}> 
<Icon name =“ios-egg”/> 
<Text> Feed </ Text> 
</ Button>
使用“活动”选项卡 
在构造函数方法中包含此代码,以激活您按下的选项卡。 
constructor (){ 
super (); 
这个。 state = { 
activeTabName:‘ feed ‘ 
}; 
}
绑定状态值 
下面的代码是触发我们选择的选项卡操作。 
<Button active = {(this.state.activeTabName ===“feed”)? true:“”} 
onPress = {()=> {this。 tabAction (‘ feed ‘)}}> 
<Icon name =“ios-egg”/> 
<Text> Feed </ Text> 
</ Button>
最终代码 
这是使用react native导航到不同页面的最终代码。 
从 ‘ react ‘ 导入 React,{Component} ; 从 ‘ react-native ‘ 
导入 {Image,StyleSheet} ; 从 ‘ native-base ‘ 导入 {Footer,FooterTab,Icon,Button,Text} ; 从 ‘ react-native-router-flux ‘ 导入 {Actions} ; export default class AppFooter extends Component { constructor (){ super (); 这个。 state = { activeTabName: ‘feed‘ }; } 
tabAction (tab){ 
this。 setState ({activeTabName:tab}); 
if(tab ===‘ feed ‘){ 
Actions。 feed (); 
} else if(tab ===‘ news ‘){ 
Actions。 新闻 (); 
} else { 
动作。 约 (); 
} 
} 
渲染(){ 
回报( 
<页脚> 
<FooterTab> 
<按钮 
。活性= {(此 状态 .activeTabName === “进料”)成立:? “”} 
onPress = {()=> {此。 tabAction ( ‘喂‘)}}> 
<图标名称= “IOS-蛋”/> 
<文本>订阅</文本> 
</按钮> 
<按钮 
活性= {(此。 状态 .activeTabName === “新闻”)? true:“”} 
onPress = {()=> {this。 tabAction ( ‘新闻‘)}}> 
<图标名称= “文件”/> 
<文本>新闻</文本> 
</按钮> 
<按钮 
激活= {(这一点。 状态 .activeTabName === “约”)? true:“”} 
onPress = {()=> {this。 tabAction (‘about‘)}}> 
< 
</ FooterTab> </ Footer> );
} 
} 
模块。 export = AppFooter;
