Uncaught Invariant Violation: Minified React error #31 問題的一種解決方案

問題描述

    這裏是 React 日期選擇器組件報的錯誤,在一個活動列表點擊編輯某行記錄時控制檯打印的錯誤。

部分錯誤信息:
Uncaught Invariant Violation: Minified React error #31; visit http://facebook.github.io/react/docs/error-decoder.html?invariant=31&args[]=Tue%20Mar%2031%202020%2023%3A01%3A13%20GMT%2B0800%20(%E4%B8%AD%E5%9B%BD%E6%A0%87%E5%87%86%E6%97%B6%E9%97%B4)&args[]= for the full message or use the non-minified dev environment for full errors and additional helpful warnings.

在這裏插入圖片描述

問題分析

Uncaught Invariant Violation: Minified React error #31;
未捕獲的不變的違規問題,縮小問題排查範圍,錯誤碼爲 31;

    類似的問題建議根據錯誤碼查看對應的解決方案,此處 ErrorCode 爲31,點擊訪問 Visit 後面的地址,查看報錯原因,如下,其實已經給出了問題所在;無效的日期值。那這裏和日期有關的就是活動有效期那個日期選擇組件,此處是編輯頁面,就是拿到數據渲染到日期組件上報錯了,日期數據格式不支持,渲染的是無效的日期數據。無效的日期值。

Objects are not valid as a React child (found: Wed Mar 11 2020 23:59:59 GMT+0800 (中國標準時間)).

在這裏插入圖片描述
    編輯頁面可以看到,這裏編輯頁面日期值"2020-03-29 23:01:13"也渲染成功了,數據前端已經拿到了,就是不滿足 React 日期組件要求的數據格式。
    回到前端項目,編輯頁面打開彈窗時,初始化動作有對活動有效期格式轉換,打個日誌跟蹤下,可以看到是日期格式處理有誤,處理後的日期格式不滿足日期組件。
在這裏插入圖片描述
在這裏插入圖片描述

問題處理

    方案提示此處的日期對象是無效的,Objects are not valid as a React child (found: Tue Mar 31 2020 23:01:13 GMT+0800 (中國標準時間)),就是編輯動作打開彈窗時對日期數據的格式轉換不正確,這裏轉換爲 Date 類型日期組件不支持,後端返回的數據格式就是正確的無需轉換; 後端返回數據格式不滿足的情況下可以在進行格式轉換。moment(model.endTime).format(“YYYY-MM-DD HH:mm:ss”);

Power By niaonao, The End

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章