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){
     }
})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在线阅读 http://interview.poetries.top[http://interview.poetr...
    前端进阶之旅阅读 114,820评论 24 450
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,967评论 19 139
  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 webpack介绍和使用 一、webpack介绍 1、由来 ...
    it筱竹阅读 11,233评论 0 21
  • 插艾叶,摆枣花, 身着盛装,香包挂胸前, 端午佳节人团圆, 庭院融融,百花尽争艳。 吃粽子,烙韭盒, 凉面拌上,畅...
    开心果_c632阅读 186评论 2 2
  • http://www.2cto.com/kf/201609/546492.html 非常全的coreText的讲解...
    SmallTwo阅读 1,332评论 0 1