一個'/>'引發(fā)的血案(Trying to add a 'RCTRawText [text: />]' to a 'RCTView')

React Native新項目開發(fā),某一天,一個使用windows電腦的開發(fā)人員跑來告訴我,Android端App啟動報錯了,iOS端顯示正常,編譯器沒報其他錯誤。
錯誤信息如下:
Cannot add a child that doesn't have a YogaNode to a parent without a measure function!(Trying to add a 'RCTRawText [text: />]' to a 'RCTView')

image.png

一看這個錯誤,我首先判斷是標(biāo)簽的符號有問題,以前遇到過有人把/>輸錯成/>>,也會報類似錯誤,首先搜一下有沒有存在/>>情況,整個項目一搜索,還真發(fā)現(xiàn)有幾個地方是/>>,趕緊修復(fù)了,再去Android模擬器上跑一下,依舊在報錯。。。

仔細(xì)想了一下,一般這種標(biāo)簽的問題,都是加載時才會報出來,所以很有可能出錯的地方就是一級頁面上。于是我把一級頁面換成了其他頁面,一刷新模擬器,顯示正常了。錯誤頁面算是定位到了,那就來檢查錯誤位置吧!

一般我是懶得去一行一行看代碼的,一級頁面代碼也比較多,我喜歡用二分查找方法,把render中的視圖代碼分為上下兩部分,刪掉上面部分后,發(fā)現(xiàn)問題依舊,那問題就在下面部分中,繼續(xù)使用二分法,最終發(fā)現(xiàn)了某一行代碼中多了一個/>,刪除后,問題解決。

后面詢問開發(fā)人員,發(fā)現(xiàn)是合并代碼時發(fā)現(xiàn)了這里有沖突,解決沖突時少刪除了一行代碼。按理說編譯器應(yīng)該能檢查出這種問題的,但是我們用的webstorm和VS沒有提示錯誤,不知道是不是配置問題。

總結(jié):
遇到Cannot add a child that doesn't have a YogaNode to a parent without a measure function!(Trying to add a 'RCTRawText [text: />]' to a 'RCTView')錯誤,就去檢查標(biāo)簽結(jié)尾是否有問題,一般就是搜索是否有/>>情況,或者多了/>。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容