RN 踩坑指南合集

  1. Text 中英文不居中

不設(shè)置 line-height,但是要考慮文本和文本的間隔就要和設(shè)計(jì)有偏差,不設(shè)置 line-height 不代表 Text 沒(méi)有額外的 height

  1. 圖片本地加載沒(méi)有問(wèn)題,測(cè)試環(huán)境就不可以

對(duì)于小圖使用 base64,有些 cdn 路徑并沒(méi)有訪問(wèn)對(duì),曾經(jīng)遇到

  1. 測(cè)試環(huán)境有圖片,正式環(huán)境沒(méi)有圖片

cdn 圖片路徑并沒(méi)有訪問(wèn)對(duì),需要修改地址路徑

  1. RN 截屏功能,webview 不能截屏

安卓截屏,不能截 Image,必須是 View,View 還要設(shè)置collapsable設(shè)置為 false,但是當(dāng)collapsable為 false ,一些低端安卓機(jī)就渲染不出來(lái)了

如果有帶參數(shù)的截屏功能(每個(gè)人訪問(wèn)的是不一樣的),目前這種需求還是給端上提比較好。

base64 遇到不能轉(zhuǎn)成圖片,是因?yàn)閎ase64 有一些換行符,去掉就可以了。

截屏 ios 保存 ,如果圖片長(zhǎng)寬比比較小的話,可能會(huì)被放大,屬于正?,F(xiàn)象。

  1. CSS 0.5 border 寬度,在安卓 5 webview 上不會(huì)被渲染出來(lái)

判斷是否是 web 環(huán)境安卓 5,設(shè)置成 1 兜底

  1. 圖片預(yù)加載 react-native-fast-image 這個(gè)插件有 bug

采用絕對(duì)定位和相對(duì)定位,兩張圖片疊加的方式,等圖片加載完成設(shè)置透明度為1

  1. RN 原本 modal 在 webview 上是不能彈出的

需要自己額外寫一套,使用公共組件

  1. RN 安卓樣式,子元素定位父元素是不能超出去的,比如

如下的圖,父元素的長(zhǎng)款就必須包含子元素

image
  1. 如果 View 要包裹 TouchableOpacity,View 的樣式會(huì)亂

需要把 View 的樣式放到 TouchableOpacity,對(duì)于 TouchableWithoutFeedback 不用移動(dòng)樣式

  1. 安卓機(jī)下載 charles 證書如何安裝

下載后的證書并不能直接打開(kāi)安卓會(huì)出錯(cuò),在設(shè)置里面打開(kāi)相關(guān)證書添加,訪問(wèn)本地文件添加信任

  1. CSS webview position 絕對(duì)定位的時(shí)候

left: 0, top: 0, 這兩個(gè)都不要丟,有些低端安卓 webview 渲染有問(wèn)題

絕對(duì)定位的時(shí)候,如果是 btn 需要點(diǎn)擊的 view 等,設(shè)置 index 大一點(diǎn),在某些安卓機(jī)點(diǎn)擊不到

  1. 父元素是 relative ,子元素既有 relative 和 absolute

把 absolute 的往前面寫,有些低端安卓 webview 渲染方式不大對(duì),后面 absolute 就直接往后面渲染

  1. 小米手機(jī)上存在文字截?cái)嗟膯?wèn)題

居中對(duì)齊的Text在水平方向上會(huì)缺失最后一個(gè)字

設(shè)置了行高的Text在垂直方向上最后一行會(huì)被截?cái)?/p>

原因:小米使用了自定義的字體,從而造成了該問(wèn)題

解決方案 :

針對(duì)android設(shè)備統(tǒng)一把字體設(shè)置成android默認(rèn)字體 fontFamily: 'DroidSansFallback'

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

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

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