其实,今天我想把我近期遇到的坑都总结一下:

1.goBack的跨页面跳转,又两种方法,一可以像兔哥那样修改navigation源码,二可以用navigationActions
2.父子组件的传值,一可以用callBack 二可以用pubsub发布订阅模式 三可以用manager事件监听(a页面要显示的内容 有两种形式,一是从manager主动接收,也就是说不需要点击什么的获取数据,而是时时监听manager里数据的变化,第二种a页面获取要显示内容的形式是 点击出发,获取)
3 需要说的还是navigation 在navigationOption是一个stack静态变量,里面不能出现this,所以就会出现一个问题 ,比如说navigationOption里的的headerRight里放一个添加按钮,点击添加按钮要推出一个新的页面,以前通用的方法是pubsub发布订阅,而兔子说用setParams,不过都能达到相应的功能,只是优劣的问题。还有就是navigation的动画问题,开发种遇到许多问题,自己的成长过程从expo练习demo,到用官网推荐混合开发。一路走来感受颇多,不过还是挺怀念以前做网站时的coding,为什么呢?那时候比较年轻吧!
好了说一下聊天冒泡气泡的布局
import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Text, View } from 'react-native'; export default class MsgPopPage extends Component { render() { return ( <View style={styles.container}> <Text style={styles.msg}>Hello MSG</Text> <View style={styles.triangle}> </View> </View> ); } } const styles = StyleSheet.create({ container: { flex: 1, flexDirection: 'row', justifyContent: 'center', alignItems: 'center', backgroundColor: '#F5FCFF', }, msg: { fontSize: 20, textAlign: 'center', padding: 10, backgroundColor: 'chartreuse', borderRadius: 8, }, triangle: { width: 0, height: 0, backgroundColor: 'transparent', borderStyle: 'solid', borderLeftWidth: 30, borderRightWidth: 30, borderBottomWidth: 8, borderTopWidth: 8, borderLeftColor: 'chartreuse', borderRightColor: 'transparent', borderTopColor: 'transparent', borderBottomColor: 'transparent', }, });
代码运行效果:
timer封装 发送验证码倒计时
日常工作中,倒计时组件是少不了的。目前了解的很多倒计时组件会在应用进入后台时,计时停止或者错乱。下面,我们就来实现一个可用,高交互的例子。
1-:支持倒计时结束时,执行回调,并重新开始计时;
下面开始给出源码首先封装一个timer的组件
代码如下
import React, {Component} from 'react'; export default class Timer extends Component { componentWillMount() { const {interval} = this.props; this.timer = setInterval(this.onEvent, interval); } componentWillReceiveProps(newProps) { if (newProps.interval !== this.props.interval) { clearInterval(this.timer); this.timer = setInterval(this.onEvent, newProps.interval); } } componentWillUnmount() { clearInterval(this.timer); } onEvent = ev => { const { onTimer } = this.props; onTimer(ev); }; render(){ return this.props.children || null; } }
在用到的地方调用
import React from 'react'; import { Text, View, StyleSheet, Alert,
}
from 'react-native'; import Timer from './Timer' export default class TimeMsg extends React.Component { constructor(props){ super(props); this.state={ count:10, isFinish:false, } } onTimer = () => { if(this.state.count>0){ this.setState({count: this.state.count - 1}); }else { this.setState({isFinish:true}); } }; againTime=()=>{ if(this.state.isFinish){ this.setState({ count:10, isFinish:false, }); //回调,当使用组件时,可用传入回调事件 if(this.props.onPress){ this.props.onPress(); } } } render() { let mainView=this.state.count!=0? <Text style={styles.textMsg}>剩余{this.state.count}s</Text>: <Text style={styles.textMsg} onPress={this.againTime}>重新获取</Text> return ( <View style={styles.container}> <View style={styles.mainView}> <Timer interval={1000} onTimer={this.onTimer}/> {mainView} </View> </View> ); } } const styles=StyleSheet.create({ container:{ backgroundColor:'#4a4a4a', }, textMsg:{ fontSize:16, }, mainView:{ height: 44, padding: 12, } })
代码效果如下
//回调事件
againTime=()=>{
alert("againTime");
}
//倒计时结束时,可以使用此回调再次开始计时,并执行某些时间
<TimeMsg onPress={ this.againTime }/>
总结
以上所述是小编给大家介绍的react native中的聊天气泡及timer封装成的发送验证码倒计时,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# react
# native
# 气泡
# timer
# 验证码倒计时
# react的滑动图片验证码组件的示例代码
# React Native验证码倒计时工具类分享
# ReactNative短信验证码倒计时控件的实现代码
# React-Native中使用验证码倒计时的按钮实例代码
# React tsx生成随机验证码
# 倒计时
# 可以用
# 回调
# 验证码
# 结束时
# 小编
# 自己的
# 是一个
# 我想
# 就会
# 好了
# 在此
# 不需要
# 都能
# 把我
# 两种
# 会在
# 是从
# 给大家
# 那时候
相关文章:
Swift中switch语句区间和元组模式匹配
建站之星后台管理:高效配置与模板优化提升用户体验
c++ stringstream用法详解_c++字符串与数字转换利器
如何快速启动建站代理加盟业务?
html制作网站的步骤有哪些,iapp如何添加网页?
网站制作新手教程,新手建设一个网站需要注意些什么?
如何制作网站标识牌,动态网站如何制作(教程)?
建站之星伪静态规则如何设置?
建站VPS配置与SEO优化指南:关键词排名提升策略
自助网站制作软件,个人如何自助建网站?
建站之星×万网:智能建站系统+自助建站平台一键生成
宝塔新建站点报错如何解决?
网站制作需要会哪些技术,建立一个网站要花费多少?
Android使用GridView实现日历的简单功能
西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
如何实现建站之星域名转发设置?
Python lxml的etree和ElementTree有什么区别
寿县云建站:智能SEO优化与多行业模板快速上线指南
C#怎么使用委托和事件 C# delegate与event编程方法
洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?
建站之星导航配置指南:自助建站与SEO优化全解析
c# 在高并发场景下,委托和接口调用的性能对比
如何将凡科建站内容保存为本地文件?
,交易猫的商品怎么发布到网站上去?
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
沈阳制作网站公司排名,沈阳装饰协会官方网站?
如何选择美橙互联多站合一建站方案?
移民网站制作流程,怎么看加拿大移民官网?
公众号网站制作网页,微信公众号怎么制作?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
建站主机如何选?性能与价格怎样平衡?
存储型VPS适合搭建中小型网站吗?
测试制作网站有哪些,测试性取向的权威测试或者网站?
如何解决VPS建站LNMP环境配置常见问题?
如何在IIS7上新建站点并设置安全权限?
娃派WAP自助建站:免费模板+移动优化,快速打造专业网站
济南网站建设制作公司,室内设计网站一般都有哪些功能?
建站DNS解析失败?如何正确配置域名服务器?
清除minerd进程的简单方法
建站之星安装需要哪些步骤及注意事项?
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
如何选择高效可靠的多用户建站源码资源?
定制建站如何定义?其核心优势是什么?
C#怎么创建控制台应用 C# Console App项目创建方法
建站主机选购指南与交易推荐:核心配置解析
,如何利用word制作宣传手册?
制作旅游网站html,怎样注册旅游网站?
建站之星备案流程有哪些注意事项?
*请认真填写需求信息,我们会在24小时内与您取得联系。