隨著React Native的發(fā)展,這種混合開(kāi)發(fā)模式越來(lái)越受到Coder們的歡迎,但是,RN提供給我們供查詢(xún)的資料仍然不多。題主作為一只入門(mén)的RN小白,經(jīng)常遇到各種奇怪的Bug。在這里,我大概說(shuō)明一下React Native在自定義組件時(shí)最容易進(jìn)的坑——“RCTBridgeModule.h,RCTBrige.h文件找不到的Bug。
”話(huà)不多說(shuō),直接上圖(以下示例均為iOS端):
按照RN官方文檔的步驟,如果想要自定義一個(gè)RN API組件,首先需要自定義一個(gè)組件類(lèi),這很簡(jiǎn)單,就是這樣,新建一個(gè)OC Class ? ?(新建類(lèi)都不會(huì)回家面壁去.......)

然后,按照文檔,我們新建的模塊類(lèi)需要遵循RCTBridgeModule協(xié)議,并且需要包含“RCTBridgeModule.h”和“RCTBridge.h”頭文件,就像這樣

這時(shí)候,我去檢查了以下項(xiàng)目的第三方庫(kù)連接情況,可以發(fā)現(xiàn)在React.a靜態(tài)庫(kù)是正常連接的,這時(shí)候如果去Finder中看一下,發(fā)現(xiàn)這兩個(gè)RCT開(kāi)頭的頭文件全部都在React項(xiàng)目中。

ok,坑點(diǎn)來(lái)了,明明我是按照官方文檔操作的,為什么報(bào)不存在呢???這時(shí)候我嘗試了一下把React.xcodeproj工程完全導(dǎo)入到我的工程中去解決問(wèn)題。這樣雖然不會(huì)報(bào)頭文件找不到,但是會(huì)報(bào)重復(fù)聲明(不信的自己去試試)。
好了,現(xiàn)在重點(diǎn)來(lái)了,敲黑板??!正確的導(dǎo)入姿勢(shì)是這樣的:

React.a靜態(tài)庫(kù)已經(jīng)被連接了,所以我們想要使用其中的頭文件,只需要這樣既可:

題主也是在AppDelegate.m中找到的靈感,既然我不會(huì)導(dǎo)入,我就看看系統(tǒng)生成的代碼是怎么寫(xiě)的,AppDelegate.m中是這樣寫(xiě)的:

OK,到這里,這個(gè)自定義API組件import文件失敗的Bug就解決了,又可以愉快地解決下一個(gè)Bug了吸吸吸。。。(第一次寫(xiě)文章有點(diǎn)緊張,若有不妥還請(qǐng)指正啦~~)