Reac-Native 代码集合汇总


1 页面跳转

this.props.navigator.push({

title:"Detail",

component: CommentList,

passProps: {data: data}

});

const { navigator } =this.props;

//或者写成 const navigator = this.props.navigator;

//为什么这里可以取得 props.navigator?请看上文:

//

//这里传递了navigator作为props

if(navigator) {

navigator.push({

name:'Resume',

component: Resume,

// 传递参数到跳转的界面

params: {

title: title

}

})

}

2 返回按钮操作

{this.props.title}

_pressButton(){

const { navigator } =this.props;

if(navigator) {

navigator.pop();

}

}

3 参数传递(方法之间、父组件和子组件之间)

搜索

{

this.state.show?

dataSource={this.state.dataSource}

renderRow={this._renderRow}

/>

:Util.loading

}

//渲染图书列表项

_renderRow:function(row){

return(

);

},

module.exports = React.createClass({

render:function(){

varrow =this.props.row;

return(

{row.title}

{row.publisher}

{row.author}

{row.price}

{row.pages}页

);

}

});

4 判断IOS和Android

if(Platform.OS ==='ios') {

this.props.navigator.push({

title: discover.title,

component: DiscoverContent,

passProps: {discover},

});

}

else

{

// Android

}

5 Tab切换IOS

title="图书"

selected={this.state.selectedTab ==='图书'}

icon={require('image!book')}

onPress={() => {

this.setState({

selectedTab:'图书'

});

}}>

title="电影"

selected={this.state.selectedTab ==='电影'}

icon={require('image!movie')}

onPress={() => {

this.setState({

selectedTab:'电影'

});

}}>

title="音乐"

selected={this.state.selectedTab ==='音乐'}

icon={require('image!music')}

onPress={() => {

this.setState({

selectedTab:'音乐'

});

}}>

WebView 使用方法

automaticallyAdjustContentInsets={false}

source={{uri:'http://weixinf1.quarkfinance.com/activity/invite/index'}}

scalesPageToFit={false}

/>

Linking 用法:

importReact,{

Linking

}from'react-native';

export functionlink(url) {

Linking.canOpenURL(url).then(supported=> {

if(supported) {

returnLinking.openURL(url)

}

})

.catch(err=> {

console.error('An error occurred', err);

})

}

键盘 事件

this.keyboardWillShowEvent= DeviceEventEmitter.addListener('keyboardWillShow',this.keyboardWillShow.bind(this));

this.keyboardWillHideEvent= DeviceEventEmitter.addListener('keyboardWillHide',this.keyboardWillHide.bind(this));

keyboardWillShow(e){

this.commentView&&this.commentView.setNativeProps({

style: {

height:commentHeight- e.endCoordinates.height

}

})

}

keyboardWillHide(){

this.commentView&&this.commentView.setNativeProps({

style: {

height:commentHeight

}

})

}

componentUnMount(){

this.keyboardWillHideEvent.remove()

this.keyboardWillShowEvent.remove()

}

_onScroll(e) {

const{actions,Acticle} =this.props;

letscrollH= e.nativeEvent.contentSize.height;//scrollview的高度

lety= e.nativeEvent.contentOffset.y;//当前滑动显示的y轴坐标

letheight= e.nativeEvent.layoutMeasurement.height;//显示部分高度

if(scrollH-y

// this._loadmore();

}

}

(3)alignSelf:对齐方式

alignSelf的对齐方式主要有四种:flex-start、 flex-end、 center、  auto、 stretch。

varReact=require('Dimensions');

console.log(Dimensions.get("window"));

//结果:{width: 375, scale: 2, height: 667}

翻转 样式

transform: [{rotate:'50deg'}],

换行

{`\n`}

转移字符

{`<`}

隔行换色

获取屏幕尺寸以及最小线宽

varwidth= Dimensions.get('window').width,

height= Dimensions.get('window').height;

varuntil= {

/*最小线宽*/

pixel:1/ PixelRatio.get(),

/*屏幕尺寸*/

size: {

width:width,

height:height

},

/**

* 基于fetch的get方法

*@methodpost

*@param{string} url

*@param{function} callback 请求成功回调

*/

get:function(url, successCallback, failCallback){

fetch(url)

.then((response) => response.text())

.then((responseText) => {

successCallback(JSON.parse(responseText));

})

.catch(function(err){

failCallback(err);

});

}

};

Brendas-MacBook-Pro:appx_android brendalogy$ ./gradlew compileDebug --stacktrace

-bash: ./gradlew: Permission denied

chmod +x gradlew

______________________________________________

$ gradle

FAILURE: Build failed with an exception.

* What went wrong:

A problem occurred configuring project ':app'.

> failed to find Build Tools revision 24.4.1

http://stackoverflow.com/questions/34917661/configuring-project-app-failed-to-find-build-tools-revision

图片自适应

react native 中,图片必须明确写明大小值,不然无法显示,同时width : '100%'',这种写法不支持。

如果需要自适应,有几种做法:

只写高度值,不写宽度值,外层容器使用flex来做好布局,再配合resizeMode实现图片自适应即可。

例子1 :

例子2 :

flex: 1,

alignItems: 'stretch',

}}>

使用Dimensions来获取设备viewport的宽高

var Dimensions = require('Dimensions');

var { width, height } = Dimensions.get('window');

var image = (

);

PixelRatio.getPixelSizeForLayoutSize(80)

RN 注释

不能直接使用 //或者  /**/

可以使用:{/* 这是注释 */ }

渐变效果

start={[0.0,0.0]}

end={[1.0,1.0]}

locations={[0,1]}

colors={['#ff8347','#f75a0e']}

style={styles.linearGradient}>

Sign in with Facebook

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,809评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,189评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,290评论 0 359
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,399评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,425评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,116评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,710评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,629评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,155评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,261评论 3 339
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,399评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,068评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,758评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,252评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,381评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,747评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,402评论 2 358

推荐阅读更多精彩内容