React Native工作小技巧及填坑記錄

以下是本人在React Native開發(fā)工作中使用的一些小技巧,記錄一下。

1.從網(wǎng)絡(luò)上拉取下來的React Native缺少React和React Native庫.終端

1. cd 項(xiàng)目根目錄

2. npm install

3. 完成之后,在根目錄中會(huì)出現(xiàn)node_modules文件夾(和package.json同級(jí)目錄).OK.接下來使用Xcode再次打開就好了.

2.如何導(dǎo)入第三方庫.

1.cd 項(xiàng)目根目錄

2.npm i 庫名 --save

如: npm i react-native-tab-navigator --save 導(dǎo)入了react-native-tab-navigator這個(gè)庫

3.獲取屏幕的寬和高

使用Dimensions
var Dimensions = require('Dimensions');
var {width,height} = Dimensions.get('window');
使用
leftViewStyle:{
   width:width/4,
 },

4.根據(jù)不同的平臺(tái)設(shè)置不同的效果使用Platform先引入Platform:

import {
    AppRegistry,
    StyleSheet,
    Text,
    View,
    ListView,
    Image,
    TouchableOpacity,
    Platform
} from 'react-native';

使用:

iconStyle:{
    width: Platform.OS === 'ios' ? 30 : 25,
    height:Platform.OS === 'ios' ? 30 : 25
},

5.顏色值使用RGB三色值.

backgroundColor:'rgba(234,234,234,1.0)',

6.ref的使用,可以獲取上下文的組件.

<TextInput ref="tel" style={styles.telInputStyle} placeholder = {'??:手機(jī)號(hào)'} keyboardType = {'number-pad'} />

var tel = this.refs.tel._lastNativeText          //ES5的寫法
console.log(tel)

7.使用react-native-tab-navigator時(shí)吨述,二級(jí)界面怎么隱藏tabBar. 
開發(fā)中,遇見個(gè)大坑,react native在push之后怎么隱藏下方的tabbar. 
這個(gè)問題真是個(gè)大坑,按照原生的開發(fā)經(jīng)驗(yàn),一般項(xiàng)目的架構(gòu)模式都是: 先以tabBar作為根,tabBar之下再放置navigationBar.但是React Native卻相反.是先以navigationBar作為根,navigationBar之下再放置tabBar.這樣的話就可以二級(jí)界面就會(huì)自動(dòng)隱藏tabBar了.該坑填完~~
demo地址:https://github.com/pheromone/react-native-push-tabbar

Paste_Image.png

8.Android去除TextInput下方的橫線.
在TextInput中使用underlineColorAndroid = {'transparent'}該屬性即可.

Paste_Image.png

8.Ignoring return value of function declared with warn_unused_result attribute報(bào)錯(cuò):React Native 0.32以下版本Xcode8報(bào)錯(cuò)解決辦法

Paste_Image.png

只需在報(bào)錯(cuò)代碼前加上 (void):

(void)SecRandomCopyBytes(kSecRandomDefault, keyBytes.length, keyBytes.mutableBytes);
(void)SecRandomCopyBytes(kSecRandomDefault, sizeof(uint32_t), (uint8_t *)mask_key);

然后運(yùn)行之后又會(huì)出現(xiàn):

Paste_Image.png

需要在報(bào)錯(cuò)的地方,替換代碼:

Paste_Image.png

換為:

-(void)setRefreshControl:(RCTRefreshControl *)refreshControl
{
  __weak UIView *_dockedHeaderView;
  RCTRefreshControl *_refreshControl; 
}

9.react native 之去除Warning:In next release empty section headers will be rendered. In this release you can use 'enableEmptySection' flag to render empty section headers.

只需要在警告類的ListView里添加一條屬性即可:

enableEmptySections={true}

10.mac顯示隱藏文件
終端運(yùn)行下面的命令即可:

defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder

11.出現(xiàn)無法在Xcode中Add Files to <...>其他XXXXXXX.xcodeproj的情況.會(huì)出現(xiàn)XXXXXXX.xcodeproj是灰色.
這種情況一般都是先使用了link命令導(dǎo)致的,一般只需先行npm install XXXXXX --save.然后再Add Files to <...>其他XXXXXXX.xcodeproj就可以選中了,之后在link即可.順序搞對(duì)就行了.
12.破解WebStorm:
在該位置處理:


Paste_Image.png

粘貼下面的上去即可:

http://jetbrains.tencent.click

如果失效的話可以在此重新?lián)Q個(gè)新的粘貼: 激活獲取
13.listView去除黃色警告:in next release empty section headers will be rendered.in the release you can use 'enableEmptySections' flag to render tmpty section headers.
如圖:

Paste_Image.png

只需在其listView中添加以下屬性即可:

enableEmptySections={true}  //去除警告

14.React-Native中禁用Navigator手勢(shì)返回

1     configureScene(route, routeStack) {
2         // return Navigator.SceneConfigs.PushFromRight;
3         var conf = Navigator.SceneConfigs.HorizontalSwipeJump;
4         conf.gestures = null;
5         return conf;
6     }

15.React-Native中撥打電話

import {Linking} from 'react-native';

function callPhone(){
  return Linking.openURL('tel:10086')
}

16.[] __nw_connection_get_connected_socket_block_invoke XX Connection has no connected handler.還TM一秒來一次

Edit Scheme... -> Environment Variables -> Add -> Name: "OS_ACTIVITY_MODE", Value:"disable"

Paste_Image.png
Paste_Image.png

17.獲取視圖組件的x,y,寬,高等值.使用RN自帶的measure即可.
具體使用:

1 /** 2  * Created by shaotingzhou on 2017/2/28. 3 */ 4 /** 5  * Sample React Native App 6  * https://github.com/facebook/react-native 7  * @flow 8 */ 9 10 import React, { Component } from 'react';11 import {12  AppRegistry,13  StyleSheet,14  Text,15  View,16 } from 'react-native';17 18 19 export default class One extends Component {20  render() {21 return (22 <View style={styles.container}>23 <Text style={styles.welcome} >24  ONE25 </Text>26  <Text style={styles.instructions} ref="myText">27  ONE28 </Text>29 <Text style={styles.instructions}>30  ONE31 </Text>32 </View>33  );34  }35 36 componentDidMount=() =>{37 setTimeout(this.showMeasure); //需要在頁面加載完畢之后對(duì)視圖進(jìn)行測(cè)量,所有需要setTimeout38 }39 showMeasure = () =>{40 this.refs.myText.measure((x,y,width,height,px,py) =>41 alert(x)42 );43 }44 45 46 }47 48 const styles = StyleSheet.create({49  container: {50 flex: 1,51 justifyContent: 'center',52 alignItems: 'center',53 backgroundColor: '#F5FCFF',54  },55  welcome: {56 fontSize: 20,57 textAlign: 'center',58 margin: 10,59  },60  instructions: {61 textAlign: 'center',62 color: '#333333',63 marginBottom: 5,64  },65 });
![復(fù)制代碼](http://upload-images.jianshu.io/upload_images/2969114-505f6d35bad48c5b.gif?imageMogr2/auto-orient/strip)

http://www.cnblogs.com/shaoting/p/5934725.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末橙弱,一起剝皮案震驚了整個(gè)濱河市歧寺,隨后出現(xiàn)的幾起案子燥狰,更是在濱河造成了極大的恐慌,老刑警劉巖斜筐,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件龙致,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡顷链,警方通過查閱死者的電腦和手機(jī)目代,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來嗤练,“玉大人榛了,你說我怎么就攤上這事∩诽В” “怎么了霜大?”我有些...
    開封第一講書人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)革答。 經(jīng)常有香客問我战坤,道長(zhǎng),這世上最難降的妖魔是什么残拐? 我笑而不...
    開封第一講書人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任湖笨,我火速辦了婚禮,結(jié)果婚禮上蹦骑,老公的妹妹穿的比我還像新娘慈省。我一直安慰自己,他們只是感情好眠菇,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開白布边败。 她就那樣靜靜地躺著,像睡著了一般捎废。 火紅的嫁衣襯著肌膚如雪笑窜。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,050評(píng)論 1 291
  • 那天登疗,我揣著相機(jī)與錄音排截,去河邊找鬼。 笑死辐益,一個(gè)胖子當(dāng)著我的面吹牛断傲,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播智政,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼认罩,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了续捂?” 一聲冷哼從身側(cè)響起垦垂,我...
    開封第一講書人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤宦搬,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后劫拗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體间校,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年页慷,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了撇簿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡差购,死狀恐怖四瘫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情欲逃,我是刑警寧澤找蜜,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站稳析,受9級(jí)特大地震影響洗做,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜彰居,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一诚纸、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧陈惰,春花似錦畦徘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至溶握,卻和暖如春杯缺,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背睡榆。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工萍肆, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人胀屿。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓塘揣,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親碉纳。 傳聞我的和親對(duì)象是個(gè)殘疾皇子勿负,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容