React Native中Navigator的安装与使用
一、安装Navigator
1.安装react-native-deprecated-custom-components
npm install react-native-deprecated-custom-components --save
2.若npm安装报错,则执行下面命令
npm i react-native-deprecated-custom-components --save
3.若还未解决则使用yarn命令(前提是自己有yarn的配置环境)
yarn add react-native-deprecated-custom-components --save
二、使用Navigator
说明:本demo为男生给女生送一枝玫瑰,女生回赠巧克力。包含了父子组件的通信
1.引入Navigator
import {Navigator} from "react-native-deprecated-custom-components"
2.页面A(用于放置父组件Boy和子组件Girl):
<Navigator
initialRoute={{
//Boy为默认显示组件
component: Boy
}}
renderScene={(route,navigator)=>{
let Component = route.component;
return <Component navigator={navigator} {...route.params}/>
}}
></Navigator>
3.父组件Boy(父组件):
<View style={styles.container}>
<Text style={styles.text}>I am Boy</Text>
<Text
style={styles.text}
onPress={
()=>{
this.props.navigator.push({
component:Girl,
params:{
word:'一枝玫瑰',
onCallBack:(word)=>{
this.setState({
word:word
})
}
}
})
}
}
>送女孩一支玫瑰</Text>
<Text style={styles.text}>{this.state.word}</Text>
</View>
4.子组件Girl(子组件):
<View style={styles.container}>
<Text style={styles.text}>
I am Girl.
</Text>
<Text style={styles.text}>
我收到了男孩送的玫瑰{this.props.word}
</Text>
<Text
style={styles.text}
onPress={
()=>{
this.props.onCallBack('一盒巧克力');
//删除组件
this.props.navigator.pop()
}
}
>
回赠巧克力
</Text>
</View>
React Native中Navigator的安装与使用的更多相关文章
- [转] 在React Native中使用ART
http://bbs.reactnative.cn/topic/306/%E5%9C%A8react-native%E4%B8%AD%E4%BD%BF%E7%94%A8art 前半个月捣腾了一下Rea ...
- react native中使用echarts
开发平台:mac pro node版本:v8.11.2 npm版本:6.4.1 react-native版本:0.57.8 native-echarts版本:^0.5.0 目标平台:android端收 ...
- 在 React Native 中使用 Redux 架构
前言 Redux 架构是 Flux 架构的一个变形,相对于 Flux,Redux 的复杂性相对较低,而且最为巧妙的是 React 应用可以看成由一个根组件连接着许多大大小小的组件的应用,Redux 也 ...
- React Native导航器Navigator
React Native导航器Navigator 使用导航器可以让你在应用的不同场景(页面)间进行切换.导航器通过路由对象来分辨不同的场景.利用renderScene方法,导航栏可以根据指定的路由来渲 ...
- React Native 中 CSS 的使用
首先声明,此文原作者为黎 跃春 React Native中CSS 内联样式 对象样式 使用Stylesheet.Create 样式拼接 导出样式对象 下面的代码是index.ios.js中的代码: / ...
- react native中的欢迎页(解决首加载白屏)
参照网页: http://blog.csdn.net/fengyuzhengfan/article/details/52712829 首先是在原生中写一些方法,然后通过react native中js去 ...
- React Native中的网络请求fetch和简单封装
React Native中的网络请求fetch使用方法最为简单,但却可以实现大多数的网络请求,需要了解更多的可以访问: https://segmentfault.com/a/1190000003810 ...
- [转] 「指尖上的魔法」 - 谈谈 React Native 中的手势
http://gold.xitu.io/entry/55fa202960b28497519db23f React-Native是一款由Facebook开发并开源的框架,主要卖点是使用JavaScrip ...
- react native中一次错误排查 Error:Error: Duplicate resources
最近一直在使用react native中,遇到了很多的坑,同时也学习到了一些移动端的开发经验. 今天在做一个打包的测试时,遇到了一个问题,打包过程中报错“Error:Error: Duplicate ...
随机推荐
- django中app_name以及namespace理解
在写django的时候,html中反向解析经常会用到app_name 但有时候又是namespace,具体的区别如下: 大部分情况 这两者有其一就可以了. 并且两者(可以简化理解)无区别 只要一种情况 ...
- 使用pymysql进行定时查询数据不更新的原因及解决方式
用python写了一个小脚本定时查询数据库,输出查询结果并写入文件,发现每次查询的结果都是相同的,但是数据库确实在更新数据. 原因: REPEATABLE READ The default isola ...
- Linux下的头文件搜索路径
对于以压缩包发布的软件,在它的目录下通常都有一个配置脚本configure,它的作用确定编译参数(比如头文件位置.连接库位置等),然后生成Makefile以编译程序.可以进入该软件的目录,执 ...
- 018.查询练习50题(sql实例)
CREATE TABLE EMP(EMPNO numeric(5,0) NOT NULL primary key,--雇员的编号ENAME nvarchar(10) not null,--雇员的名字J ...
- Oralce问题之Oracle ORA-28001:某用户密码过期
解决办法: (1).通过CMD打开命令行窗口,以sysdba连接数据库 SqlPlus / as sysdba (2).通过查询dba_user检查哪些用户过期 Sql>Select UserN ...
- 小辣椒之lombok-1.18.8.jar的使用
1.下载lombok-1.18.8.jar包 http://central.maven.org/maven2/org/projectlombok/lombok/1.18.8/lombok-1.18.8 ...
- C# 对象和类型(2) 持续更新
类 class PhoneClass { public const string DayOfSendingBill = "Monday"; public int Customer ...
- glRenderbufferStorageMultisample
https://www.khronos.org/registry/OpenGL-Refpages/es3.0/html/glRenderbufferStorage.xhtml https://www. ...
- MFC 模态对话框、非模态对话框
modal dialogs与modeless dialogs,modal dialogs会让原窗体不被选中,modeless dialogs原窗体依然可以选中. 1.模态对话框的显示 DlgModal ...
- react-native-page-scrollview 的使用方法(实现酷炫的分页轮播效果,还支持自定义View)
react-native-page-scrollview 对ScrollView的封装,可以很方便的实现水平,垂直分页轮播效果.而且可以自定义分页宽高,和侧边View的旋转,透明度,大小等. 对于原生 ...