ReactNative跨平台開發系列教程:
hot:更多>>
今天早上九點起來擼碼的,心情美滋滋。廢話不多說,開始擼碼,你准備好了嗎?另外本系列文章的源碼已經上傳到github,請自行獲取!
預加載|緩存
expo中提供了一個 AppLoading 的方法,你可以用它去干一些后台加載數據,緩存之類 的工作,當他沒有緩存完成需要的資源時,你的screen是不會顯示出來的,所以這個方法,我個人感覺總是那么的蹩腳。上個圖說明一下:
在上圖中屏幕會出現卡白的情況,什么原因呢?我讓其在AppLoading ,app加載的時候干了一些加載資源的事情,右圖是我模擬的加載資源,用的for循環,結果程序啟動,他就會走apploading,干他里面的事情,所以應用程序就會卡白,顯然這不是我們想要的,下面我們嘗試一下splash,我可以用splash。
搞了我的笑了,splash在expo中配置文件配置一些就可以了,
如果這樣的話,我就還是不滿意,大家可以放肆的去用第三方了,甚至我自己洗的那一個也湊合。
這里推薦兩個第三方,不一定是最好的但是是我找到的。
既然這里寫到了splash,我也好好的回顧一些很久以前寫到一篇文章:react native 第一次下載app的歡迎頁+每次啟動app的啟動頁設計 順便在本項目中實現一下。
貌似有點小問題,上次我在原生混合模式里,往<Image> 組件里添加子組件沒有報錯,這次在expo里,他不讓我這樣操作,很是尷尬!
所以啊,我建議做splash就直接用第三方吧,簡單粗暴省事!
這個splash我就不想提及了,下面說一下 Push Notifications,消息推送服務
Push Notifications|消息推送
簡單的測試了一下他的推送api,說我沒有注冊,如圖:
出現這個錯誤原因很正常,官方給出的是:
DeviceNotRegistered
: the device cannot receive push notifications anymore and you should stop sendingmessages to the given Expo push token.
expo 消息推送不允許模擬器|仿真機測試,我用postman當然不行了,所以我們要改用真機,測試消息推送!
模擬器上推送依然報錯:
換真機--今天就不吃瓜了,明天繼續吃!我要體驗大微軟的跨平台去了!
這個項目我發布了一下:https://expo.io/@dongsheng/myappxde 可以在這里用expo掃碼看一下,樣式特別丑!
另外想說一下,expo現在最高版本是24.0.0
它和ReactNative版本對應:17.0.0→0.44| 18.0.0→0.45| 19.0.0→0.46| 20.0.0 →0.47| 21.0.0 →0.48| 22.0.0 →0.49| 23.0.0 →0.50| 24.0.0 →0.51
由此可以推出,expo是一個多么新的派生物種...
我的github地址 項目在這里找到!
后續文章持續更新,敬請期待!
文章為作者原創,轉載請注明出處。