about.js 这是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本机服务器。
$ npm install react-native-router-flux --saveindex.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> ); } } 模块。云南idc服务商 export = AppFooter;