React Native技术知识总结(不定期补充)
1.JSON
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/JSON
JSON.parse()解析JSON字符串, 可以选择改变前面解析后的值及其属性,然后返回解析的值。
JSON.stringify()返回指定值的 JSON 字符串,可以自定义只包含某些特定的属性或替换属性值。
2.转换图片得到图片的uri
import resolveAssetSource from 'resolveAssetSource';
var img = require('./qaq.png');
var source = resolveAssetSource(img);
获取img图片:<Image resizeMode={'contain'} style={{width:140,height:140}} source={{uri:image}}/>
3.布局-输入框与按钮连接
<View
style={{flexDirection: 'row',alignItems: 'center',alignSelf: 'stretch', justifyContent:'center', backgroundColor:'#fff',padding:15}}>
<TextInput
style={{height:40,fontSize:15, borderWidth:1, borderColor:'#eee', width:220, padding:10}}
multiline={false}
autoCapitalize="none"
autoCorrect={false}
value={this.state.text}
onChangeText={(text)=>this.setState({text})}
placeholder="输入文字..."
maxLength={10}
autoFocus={true}
returnKeyType="go"
clearButtonMode="always"/>
<Button
containerStyle={{height:40, alignItems: 'center', backgroundColor: '#00a7ec', paddingTop:7, paddingLeft:15, paddingRight:15}}
style={{ color:'#ffffff'}}
onPress={()=>this._makeTransImage(this.state.text,source.uri)}>
确认
</Button>
</View>
4.如何让我们自己的插件支持npm install和rnpm link?
- 首先需要在我们的插件文件夹中添加一个package.json文件(name要修改): { "name": "react-native-nc-gpuimage", "version": "1.0.0", "description": "nc-gpuimage", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "Northcloud", "license": "MIT" }
- 接着在我们的插件文件夹中田健一个index.js文件,将我们需要的函数封装进来: import {imageFilterManager} from 'NativeModules'; var imageSvc = { addTextOnTransparentImage: function (text, imagePath) { return new Promise(function (resolve, reject) { imageFilterManager.addTextOnTransparentImage(text, imagePath, resolve, reject); }); }, addImageOnImage: function (aboveImagePath, belowImagePath, fromLeft, fromTop, radius) { return new Promise(function (resolve, reject) { imageFilterManager.addImageOnImage(aboveImagePath, belowImagePath, fromLeft, fromTop, radius, resolve, reject); }); } }; export default imageSvc;
- 文件添加完成后,需要我们将项目关闭后,再分别执行npm install和rnpm link命令。
- 我们可以检查一下node_modules文件中是否有我们的插件。
- 使用方法:在需要用到函数的文件中先引用这个插件:import imageSvc from 'react-native-nc-gpuimage'; 然后再使用插件中的函数。
5.TextInput键盘问题
添加这个属性:keyboardShouldPersistTaps={false}
这样在iOS上,输入框打开后,手点击空白处,键盘就会自动下去了
6.对象循环找到对应值
var self = this;
Object.keys(self.downPayments).map(function(val,i){
if(val==self.state.payment){
}
})
React Native技术知识总结(不定期补充)的更多相关文章
- React Native技术做的一个项目“微笑阅读”
最近用React Native做了一个APP应用,有点心得: React Native确实比Hybrid应用渲染快,响应快,用户体验更好: React Native比原生简单多了,会Js就可以了,开发 ...
- 旅行喵 React Native 技术实践
旅行喵,是一款帮助用户快乐旅行的APP. 第一版的首打功能是行程定制,和景点信息介绍.大家可以在上面做非常简单的偏好选择,通过我们的智能算法生成适合自己的旅行路线. 为什么要用RN呢? 首先,相对于其 ...
- React (native) 相关知识
container component provider组件 react里的redux进阶玩法 react组件的生命周期 conductor / componentWillMount / render ...
- React Native开发技术周报1
(一).资讯 1.React Native 0.21版本发布,最新版本功能特点,修复的Bug可以看一下已翻译 重要:如果升级 Android 项目到这个版本一定要读! 我们简化了 Android 应用 ...
- 【React Native开发】React Native配置执行官方样例-刚開始学习的人的福音(8)
),React Native技术交流4群(458982758),请不要反复加群! 欢迎各位大牛,React Native技术爱好者加入交流!同一时候博客左側欢迎微信扫描关注订阅号,移动技术干货,精彩文 ...
- 为什么学习React Native三点原因
React Native不到两岁,兼容Android平台刚刚1年.我学习React Native其实也就不到1年,不算长,也不算短. Paul Graham在文章中写过:大多数人真正注意到你的时候,不 ...
- [书籍精读]《React Native精解与实战》精读笔记分享
写在前面 书籍介绍:本书由架构师撰写,包含ReactNative框架底层原理,以及与iOS.Android混合开发案例,精选了大量实例代码,方便读者快速学习.主要内容分为两大部分,第1部分" ...
- Shoutem旨在成为React Native移动应用领域的WordPress
近日,Shoutem推出了新的基于React Native的应用构建器,为开发人员提供了移动应用领域的WordPress. \\ Shoutem让开发人员可以使用一个可视化环境快速创建基于React ...
- 📝 没 2 年 React Native 开发经验,你都遇不到这些坑
如果你喜欢我的文章,希望点赞 收藏 评论 三连支持一下,谢谢你,这对我真的很重要! React Native 开发时,如果只是写些简单的页面,基本上按着官方文档 reactnative.dev就能写出 ...
随机推荐
- android adb服务启动不了解决办法
当然还有可能是其它的原因,下面是一些解决办法的汇总 因为在对应的文件夹下找不到adb的问题,将android-sdk/platform-tools和android-sdk/tools都加到环境变量中去 ...
- 联想硬盘分区表格式修改 GPT -> MBR
知识点分析:随机预装Win8的电脑,磁盘为GPT格式的,如果需要安装Win7等早期版本系统,需要转换为MBR格式的,使用Diskpart命令即可完成转换. 操作步骤: 注意:转换磁盘格式需要清空磁盘中 ...
- weblogic日志小结
weblogic日志小结 http://blog.csdn.net/forest_hou/article/details/5468222
- android ListView中的Item有Button时候点击异常处理
1.当ListView中有Button的时候往往会遇到很多问题,比较常见的一个问题是: 假设:在ListView中有N个Item当点击其中某个Item中的Button的时候,需要改变当前Button的 ...
- HttpContext及HttpContext.current
慎用System.Web.HttpContext.Current http://www.cnblogs.com/david1989/p/3879201.html 线程编程中用到HttpContext. ...
- erlang 查看进程相关信息
出自: http://blog.sina.com.cn/s/blog_96b8a1540100zczz.html
- 认识position=fixed
(从已经死了一次又一次终于挂掉的百度空间人工抢救出来的,发表日期2014-01-13) position=fixed是相对于浏览器边框的位置.
- SRM 451 DIV 1 总结
250p:这次是有史以来做的最快的一次250p...看题花了两分钟,敲代码最多一分钟...太明显了题意~ 500p:这题水了...每次都这样...很显然用DP来做,不过前面状态表示有问题了...搞了好 ...
- JS瀑布流布局模式(2)
这个例子与上一篇类似,唯一的区别是排序的方式有差别.上一篇是在高度最小的列里插入内容,这个案例是按顺序放置内容. 两种方法各有优缺点.第一种需要在图片内容加载完成的情况下有效,各个列的图高度差异不大. ...
- iOS设置某个界面强制横屏,进入就横屏
最近有一个项目,例如:A界面跳转到B界面,A界面是竖屏的,B界面进入就要横屏. 花了半天的时间在网上搜索解决方案,有些论坛的大牛也就贴两行代码,具体实现也没有,对我们这种菜鸟造成一万点真实伤害.为了避 ...