ReactNative坑點 Date物件正確使用

2021-07-24 15:52:51 字數 1374 閱讀 7656

昨天遇到了乙個非常詭異的場景,reactnative寫的倒計時元件線上版本無法執行,但本地測試卻是正常的。我一度以為是reactnative轉換的時候出了問題,不知道從何下手。最後盤查了一圈,發現了乙個不得了的事!——reactnative的js解析,當開啟chrome進行debug時,用的的確是chrome的核心,但對於轉換好的版本,如ios版本用的是safari的核心,android版本也會隨著作業系統的不同而存在差異。

上面發現的問題有點類似以前經常碰到的瀏覽器相容問題。get到這層意思,馬上就發現下面這種寫法存在相容問題:

var

date

=new

date('2016-12-15 10:20')

chrome瀏覽器裡當然是正確的,但是在safarifirefox裡是date的值是invalid date

介於上面的相容性問題,需要對date()這個構造方法做處理:

export function

parsedate

(date) )-(\d\d)-(\d\d)\s(\d\d):(\d\d):(\d\d)\s*$/;

try catch(e)

if (parts) else

return date;

}

上面用到了export關鍵字,你可以把它放到mixins裡全域性呼叫。

以後就用parsedate替代new date(),就避開了相容問題。

import  from './mixins/helper' 

// ... 省略

let date = parsedate('2016-11-15 10:20')

ReactNative坑點 Date物件正確使用

昨天遇到了乙個非常詭異的場景,reactnative寫的倒計時元件線上版本無法執行,但本地測試卻是正常的。我一度以為是reactnative轉換的時候出了問題,不知道從何下手。最後盤查了一圈,發現了乙個不得了的事!reactnative的js解析,當開啟chrome進行debug時,用的的確是chr...

React Native 踩坑日記

問題 於示圖 findpage title 發現 解決辦法 react native 中無論是 tabbarios.item 還是 tabbar.item 必須有且只有乙個元件,說白了就是需要有子元件的存在,並且只存在乙個子元件。findpage title 發現 onpress selected ...

react native初學跳坑

react native 環境配置 詳見react native官網 執行react native專案問題總結 1 執行成功後出現 原因 是因為assets目錄下面沒有找到相應的scripts檔案 2 在虛擬機器上面執行專案出現could not connect development server...