1、ES6語法不兼容
for of語法,會(huì)產(chǎn)生一些不可預(yù)知的bug。2、從服務(wù)器獲取到的配置文件XXX.bytes,直接根據(jù)pb文件解析即可,千萬不要進(jìn)行json解析,否則pb里的枚舉值就會(huì)被轉(zhuǎn)成字符串,導(dǎo)致獲取不到預(yù)想的結(jié)果。
3、做本地緩存的時(shí)候,react-native提供的AsyncStoreage只能存儲(chǔ)字符串,所以存入緩存之前數(shù)據(jù)都要進(jìn)行json序列化,但是當(dāng)從緩存中取出數(shù)據(jù),進(jìn)行json解析,加入緩存之前的對(duì)象的一些默認(rèn)(例如:boolean類型)值,都變成undefined了,會(huì)影響原有的判斷邏輯,需要對(duì)數(shù)據(jù)進(jìn)行邏輯判斷的補(bǔ)充。
4、在開發(fā)中肯定會(huì)遇到需要獲取時(shí)間戳的問題,React-native中獲取的時(shí)間戳是毫秒為單位,而且后面還有幾位小數(shù),打印了幾條數(shù)據(jù)觀察,發(fā)現(xiàn)都是1位小數(shù),毫秒到的秒的轉(zhuǎn)換,需要再除以1000,于是就按4位小數(shù)進(jìn)行截取,
let timeStamp = timeStamp.substring(0, timeStamp.length - 4);,但是在后來的程序運(yùn)行中同事發(fā)現(xiàn),有的時(shí)候,后面會(huì)有沒有小數(shù)的情況,結(jié)果截取到的時(shí)間戳就少了一位,結(jié)果就出錯(cuò)了。于是他把獲取時(shí)間戳的代碼修改如:let timeStamp = Math.floor(new Date().getTime() / 1000).toString();,這樣獲取到的就是時(shí)間戳的整數(shù)部分了,且是用秒為單位的。5、react-native中的text組件,如果不設(shè)置寬度的話,默認(rèn)是父組件的寬度,顯示不下才會(huì)進(jìn)行換行,開發(fā)中遇到遇到兩種情況:一個(gè)image & text 采用橫向布局,如果不設(shè)置text的寬度的話,超過父組件的寬度,右側(cè)的文本會(huì)有丟失的情況;一個(gè)text & image 采用橫向布局,如果不設(shè)置text的寬度的話,text會(huì)默認(rèn)占用父組件的全部寬度,結(jié)果右側(cè)的image被擠到了父組件之外。
6、數(shù)據(jù)埋點(diǎn)遇到的坑點(diǎn):由于服務(wù)器和客戶端不在同一個(gè)時(shí)區(qū),服務(wù)器接收到打點(diǎn)數(shù)據(jù),因?yàn)闀r(shí)間差的原因,對(duì)客戶端上報(bào)的一條數(shù)據(jù)進(jìn)行了多次入口,導(dǎo)致數(shù)據(jù)量異常。經(jīng)過商量,服務(wù)器對(duì)接收到的數(shù)據(jù)進(jìn)行去重,且后續(xù)時(shí)間以服務(wù)器時(shí)間為準(zhǔn)。
-
7、AsyncStoreage的數(shù)據(jù)存儲(chǔ)速度有待懷疑。在性能調(diào)優(yōu)的時(shí)候發(fā)現(xiàn),一些方法的執(zhí)行,快的是1毫秒,大部分的發(fā)放執(zhí)行在40毫秒左右,到了賬號(hào)信息存儲(chǔ)的時(shí)候,就執(zhí)行了一個(gè)
AsyncStorage.multiSet方法,其中是5條數(shù)據(jù),耗時(shí)一下就變成了800毫秒左右。截圖如下:
企業(yè)微信截圖_3f4025c4-f9b0-4ecd-9a2f-d362edbbf526.png
上面這個(gè)方法的執(zhí)行耗時(shí)是783毫秒,所以對(duì)于這里的信息存儲(chǔ),性能改進(jìn)還是有很大的提升空間的。
AsyncStoreage給我們?cè)陂_發(fā)中提供了一些數(shù)據(jù)存儲(chǔ)的便利,但是只適合于存儲(chǔ)少量數(shù)據(jù),且對(duì)耗時(shí)感知不是很強(qiáng)的場(chǎng)景,對(duì)于登錄和注冊(cè)這種關(guān)鍵性步驟,AsyncStoreage的性能還有有欠缺的。
React-Native實(shí)際開發(fā)過程中的一些注意點(diǎn)
?著作權(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ù)。
【社區(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)容
- 很多時(shí)候,我們開發(fā)應(yīng)用系統(tǒng),底層的數(shù)據(jù)庫表結(jié)構(gòu)都需要開發(fā)人員親自設(shè)計(jì),設(shè)計(jì)的合理與否,關(guān)乎著整個(gè)系統(tǒng)的穩(wěn)定性和運(yùn)行...
- 碼農(nóng)有道5天前 作者:聽風(fēng) 編輯:http://www.itdecent.cn/p/f584799f1c77 碼...
- bit 整型 bit數(shù)據(jù)類型是整型,其值只能是0、1或空值。這種數(shù)據(jù)類型用于存儲(chǔ)只有兩種可能值的數(shù)據(jù),如Yes 或...
- Mysql中有哪幾種鎖? MyISAM支持表鎖,InnoDB支持表鎖和行鎖,默認(rèn)為行鎖 表級(jí)鎖:開銷小,加鎖快,不...
- 1.我們要先配置npm的全局模塊的存放路徑以及cache的路徑,例如我希望將以上兩個(gè)文件夾放在NodeJS的主目錄...
