react-navigation使用之嵌套和跳转
1. 新版react-native已经将react-navigation作为官方版本发布,基础Demo可以从官方网站获得,比较困扰的问题是组件的嵌套和第二、第三页面的跳转。
2. 组件嵌套问题:
要在父组件定义出指定父组件的router=子组件的router;同时,在子组件赋值navigation属性。
class AllContactsScreen extends React.Component {
    render() {return (
            <View>
                <Text>List of all contacts</Text>
                <ItemBlock title="hello world" navigation={this.props.navigation}/>
            </View>
        );
    }
}
AllContactsScreen.router = ItemBlock.router;
在子组件中定义跳转函数,子组件的代码如下:
export default class ItemBlock extends Component{
    render(){return(
            <View>
                <Button
                    onPress={this.click.bind(this)}
                    title="Chat with Lily"
                />
            </View>
        );
    }
    click(){
        const { navigate } = this.props.navigation;
        navigate('Chat');
    }
}
3. 第二、第三页面的跳转,也是在定义StackNavigator时指定,StackNavigator只定义一次。
const SimpleApp = StackNavigator({
    Home: {
        screen: MainScreenNavigator,
        navigationOptions: {
            title: 'My Chats',
        },
    },
    Chat: { screen: ChatScreen },
    ChatDetail: {screen: ChatDetail}
})
第二页面的代码如下:
export  default  class ChatScreen extends React.Component {
    static navigationOptions = {
        title: 'Chat with Lucifa',
    };
    render() {
        return(
            <View>
                <Button
                    onPress={this.click.bind(this)}
                    title="Chat with Lucky"
                />
            </View>
        );
    }
    click(){
        const { navigate } = this.props.navigation;
        navigate('ChatDetail');
    }
}
第三页面就可以随便写了。
以上。
react-navigation使用之嵌套和跳转的更多相关文章
- [RN] 04 - React Navigation
		
react-navigation和react-router的对比: 支持的平台: react-navigation: react-native react-router: react-native.r ...
 - Facebook力推导航库:React Navigation使用详解
		
本文来自Songlcy投稿:文章地址:http://blog.csdn.net/u013718120/article/details/72357698 一.开源库介绍 今年1月份,新开源的react- ...
 - react-native导航器 react navigation 介绍
		
开发环境搭建好之后,想要进一步了解react-native,可以先从react-native官网上的电影列表案例入手: https://reactnative.cn/docs/0.51/sample- ...
 - React Native常用组件之TabBarIOS、TabBarIOS.Item组件、Navigator组件、NavigatorIOS组件、React Navigation第三方
		
以下内容为老版本React Native,faceBook已经有了新的导航组件,请移步其他博客参考>>[我是传送门] 参考资料:React Navigation react-native ...
 - React-native 导航插件React Navigation 4.x的使用
		
React-native 导航插件React Navigation 4.x的使用 文档 英文水平可以的话,建议直接阅读英文文档 简单使用介绍 安装插件 yarn add react-navigatio ...
 - react navigation goBack()返回到任意页面(不集成redux) 一
		
方案一: 一.适用场景:在app端开发的时候,相反回到某一个页面的时候保持跳转页面的所有状态不更新,也就是说不触发新的生命周期. 例如:A——>B——>C——>D 要想从D页面直接返 ...
 - React Navigation / React Native Navigation 多种类型的导航结合使用,构造合理回退栈
		
React Navigation 更新到版本5已经是非常完善的一套导航管理组件, 提供了Stack , Tab , Drawer 导航方式 , 那么我们应该怎样设计和组合应用他们来构建一个完美的回退栈 ...
 - react-native 学习 ----- React Navigation
		
很久没有的登陆博客园了,密码都是找回的,从当年的大学生已经正常的走上了程序员的道路,看到之前发的博客还是写的android,现在自己已经在使用了react-native了. 大学毕业了,做了java后 ...
 - React Navigation & React Native & React Native Navigation
		
React Navigation & React Native & React Native Navigation React Navigation https://facebook. ...
 - [RN] React Navigation 使用中遇到的显示 问题 汇总
		
React Navigation 使用中遇到的显示 问题 汇总 https://www.jianshu.com/p/8b1f18affc5d
 
随机推荐
- Docker最全教程之Ubuntu下安装Docker(十四)
			
前言 Ubuntu是一个以桌面应用为主的开源GNU/Linux操作系统,应用很广.本篇主要讲述Ubuntu下使用SSH远程登录并安装Docker,并且提供了Docker安装的两种方式,希望对大家有所帮 ...
 - 【技术解析】如何用Docker实现SequoiaDB集群的快速部署
			
1. 背景 以Docker和Rocket为代表的容器技术现在正变得越来越流行,它改变着公司和用户创建.发布.运行分布式应用的方式,在未来5年将给云计算行业带来它应有的价值.它的诱人之处在于: 1)资源 ...
 - EasyUI 使用tabs切换后datagrid显示不了内容
			
今天刚遇到这个问题,找了下各群的深度合作伙伴,没有好的答案,那就自己研究吧. 问题点在于打开tab1时,快速切到tab2,这时tab1的datagrid渲染未完成,再次回到tab1,因为是在不可见区域 ...
 - C# 反射 判断类的延伸类型
			
判断类型是否被继承.实现 1.判断是否实现了指定接口 添加测试类: public class TestClass2 : TestClass1 { } public class TestClass1 : ...
 - 物联网RFID技术之应用ETC系统
			
背景 信息物理系统CPS通过集成先进的感知.计算.通 信.控制等信息技术和自动控制技术,构建了物理空间与信息空间中人. 机.物.环境.信息等要素相互映射.适时交互.高效协同的复杂系统, 实现系统内资源 ...
 - tomcat部署项目后,war包是否可刪?war包存在必要性!
			
在tomcat中webapps目錄上傳war包后, 对war解压时候. war不能在tomcat运行时删除,否则会删除自动解压的工程. 你可以停止tomcat后删除war. 当你重新部署的时候,如果 ...
 - .NET Core:多样的宿主
			
.NET Core 可以以以下方式作为宿主运行: IIS 控制台 Windows服务 运行启动代码: public static void Main(string[] args) ...
 - Python二级-----------程序冲刺1
			
1. 仅使用 Python 基本语法,即不使用任何模块,编写 Python 程序计算下列数学表达式的结果并输出,小数点后保留3位. ...
 - 观察者模式 Observer 发布订阅模式 源 监听 行为型 设计模式(二十三)
			
观察者模式 Observer 意图 定义对象一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖他的对象都得到通知并自动更新. 别名:依赖(Dependents),发布订阅(Publish-Su ...
 - js字符串转json格式与json对象转字符串
			
json字符串----->json对象json对象------>json字符串 使用JSON.parse()函数 this.dataList = JSON.parse(dataList); ...