隨著React Native的發展,這種混合開發模式越來越受到Coder們的歡迎,但是,RN提供給我們供查詢的資料仍然不多。題主作為一只入門的RN小白,經常遇到各種奇怪的Bug。在這里,我大概說明一下React Native在自定義組件時最容易進的坑——“RCTBridgeModule.h,RCTBrige.h文件找不到的Bug。
”話不多說,直接上圖(以下示例均為iOS端):
按照RN官方文檔的步驟,如果想要自定義一個RN API組件,首先需要自定義一個組件類,這很簡單,就是這樣,新建一個OC Class ? ?(新建類都不會回家面壁去.......)
然后,按照文檔,我們新建的模塊類需要遵循RCTBridgeModule協議,并且需要包含“RCTBridgeModule.h”和“RCTBridge.h”頭文件,就像這樣
這時候,我去檢查了以下項目的第三方庫連接情況,可以發現在React.a靜態庫是正常連接的,這時候如果去Finder中看一下,發現這兩個RCT開頭的頭文件全部都在React項目中。
ok,坑點來了,明明我是按照官方文檔操作的,為什么報不存在呢???這時候我嘗試了一下把React.xcodeproj工程完全導入到我的工程中去解決問題。這樣雖然不會報頭文件找不到,但是會報重復聲明(不信的自己去試試)。
好了,現在重點來了,敲黑板!!正確的導入姿勢是這樣的:
React.a靜態庫已經被連接了,所以我們想要使用其中的頭文件,只需要這樣既可:
題主也是在AppDelegate.m中找到的靈感,既然我不會導入,我就看看系統生成的代碼是怎么寫的,AppDelegate.m中是這樣寫的:
OK,到這里,這個自定義API組件import文件失敗的Bug就解決了,又可以愉快地解決下一個Bug了吸吸吸。。。(第一次寫文章有點緊張,若有不妥還請指正啦~~)