實際ReactNative開發(fā)中遇到的坑

不知不覺就過了6個月試用期,用 ReactNative 開發(fā)也有幾個月了口叙,后面應(yīng)該還會持續(xù)下去炼绘,本文主要列舉一些實際工作過程中遇到的坑,如果有更優(yōu)的解決方案妄田,歡迎留言討論俺亮。


一、報錯信息:TypeError: global.nativeCallSyncHook is not a function...

問題:與原生有同步交互疟呐,又開啟了調(diào)試模式

- 原生代碼
@implementation RCTLeeNativeProvider
RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(getInfoForSync) {
    return @{
        @"version": @"1.0.0",
        @"name": @"qinagzi"
    };
}
@end


- JS調(diào)用原生代碼
const params = NativeModules.LeeNativeProvider.getInfoForSync();


?? RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD
  • 1.2脚曾、解決方案(以下采用一種即可)
1、關(guān)閉遠(yuǎn)程調(diào)試 [Stop Remote JS Debugging], 調(diào)試可采用alert(xx)

2启具、找到調(diào)試的JS文件本讥,先注釋同步交互方法,采用偽代碼實現(xiàn),調(diào)試完再改回去(純?yōu)榱苏{(diào)試)

3拷沸、使用其他 api 替換 RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD
- 例如:RCT_EXPORT_METHOD + Promises
問題及解決方案 - [Stop Remote JS Debugging]
官網(wǎng)說明(??只有英文版的才有旨椒,中文版沒有寫)

二、Warning: Each child in an array or iterator should have a unique “key” prop.

  • 2.1堵漱、在循環(huán)的子項添加一個key
修改前
listData.map((item, index) => {
    return (
        <View style={{...}}>
        </View>
    )
})


修改后
listData.map((item, index) => {
    return (
        <View style={{...}} key={index}>
        </View>
    )
})

三综慎、<Text>標(biāo)簽在部分安卓上展示不全

  • 3.1、在style中添加lineHeight
<Text style={{
    fontSize: 14,
    lineHeight:14 * 1.5,
}}>xxxxxxx....</Text>

四勤庐、Module HMRClient is not a registered callable module (calling enable)

問題
解決方案

五示惊、global.nativeTraceBeginSection is not a function

官方解決辦法


六、ScrollView 滾動條位置不對

滾動條位置不對
增加屬性設(shè)置 :
<ScrollView scrollIndicatorInsets={{right: 1}} ...

七愉镰、react-scripts: command not found

/bin/sh: react-scripts: command not found
error Command failed with exit code 127.


解決方案:
1米罚、刪除node_modules
2、npm install

八丈探、斷點(diǎn)調(diào)試

斷點(diǎn)調(diào)試

九录择、Invariant Violation: Invariant Violation: Text strings must be rendered within a...

IMG_0533.PNG
檢查一下代碼,例如
- 代碼里面多了碗降;符號
- 代碼塊里面寫了注釋


我的錯誤代碼:多了一個分號
{this._renderMarqueeHorizontal()};

十隘竭、legal callback invocation from native module. This callback type only permits a single invocation from native code.

IMG_94EB4F8119C5-1.jpeg
原生的回調(diào)只允許調(diào)用一次,出現(xiàn)這個問題讼渊,你肯定是原生觸發(fā)了多次回調(diào)动看。

我的代碼問題:
RCT_EXPORT_METHOD(beginSpeaking:(NSDictionary *)option
                  resolve:(RCTPromiseResolveBlock)resolve
                  reject:(RCTPromiseRejectBlock)reject) {
    self.resolve = resolve;
    
    ....
    
    // 1、添加了一個通知
    // 2爪幻、然后通知回調(diào)的時候調(diào)用 self.resolve({xx:xx});
    // 3菱皆、通知再次被觸發(fā),又調(diào)用了 self.resolve({xx:xx});
}

持續(xù)更新中


參考文章

React Native-英文版
JSI小試牛刀——Native同步調(diào)用JS代碼
Faster than faster——RN新架構(gòu)中的JavaScript Interface
Android P/Q文本顯示不全

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末挨稿,一起剝皮案震驚了整個濱河市仇轻,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌奶甘,老刑警劉巖篷店,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異甩十,居然都是意外死亡船庇,警方通過查閱死者的電腦和手機(jī)吭产,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門侣监,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人臣淤,你說我怎么就攤上這事橄霉。” “怎么了邑蒋?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵姓蜂,是天一觀的道長按厘。 經(jīng)常有香客問我,道長钱慢,這世上最難降的妖魔是什么逮京? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮束莫,結(jié)果婚禮上懒棉,老公的妹妹穿的比我還像新娘。我一直安慰自己览绿,他們只是感情好策严,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著饿敲,像睡著了一般妻导。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上怀各,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天倔韭,我揣著相機(jī)與錄音,去河邊找鬼瓢对。 笑死狐肢,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的沥曹。 我是一名探鬼主播份名,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼妓美!你這毒婦竟也來了僵腺?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤壶栋,失蹤者是張志新(化名)和其女友劉穎辰如,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贵试,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡琉兜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了毙玻。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片豌蟋。...
    茶點(diǎn)故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖桑滩,靈堂內(nèi)的尸體忽然破棺而出梧疲,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布幌氮,位于F島的核電站缭受,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏该互。R本人自食惡果不足惜米者,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望宇智。 院中可真熱鬧塘雳,春花似錦、人聲如沸普筹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽太防。三九已至妻顶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蜒车,已是汗流浹背讳嘱。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留酿愧,地道東北人沥潭。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像嬉挡,于是被迫代替她去往敵國和親钝鸽。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評論 2 345

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