2017-08-01 111 views
0

進入學習React的一週,我遇到了一個障礙。React組件渲染之前從API中刪除/狀態更新

所以,我有一個action/reducer設置一個外部API來傳遞有效負載到我的組件的狀態,以便在子組件中呈現一些值(作爲prop對象傳遞) - 但是,它需要對於API幾秒鐘響應,顯然我不能問才反應過來,然後渲染任何價值,因爲它們返回null和崩潰反應..

最佳實踐?爲狀態值設置默認值,直到狀態得到更新以避免空錯誤?有沒有更好的辦法?

試過在子條件渲染(這會使值),但沒有奏效。

任何意見,不勝感激!

+0

「試過在子有條件的渲染......但沒有工作」給你的代碼。我會說這是最佳做法:檢查狀態是否已加載,如果不是,則顯示加載指示符。 –

回答

3

必須首先設置減速器通常爲空值或空對象的內部狀態的一些初始值。現在在你的渲染方法中,你必須使用條件渲染並從中返回適當的jsx。這是從API獲取數據並將其呈現在組件內的標準方式。 This可能可以幫助你。

+0

謝謝@Shubham - 這很有幫助 - 最後管理如何設置數組的初始狀態。 –

+0

我將如何設置一個初始狀態來映射一個針對@Shubham Jain的列表? '[ 'org_units',[ [ '', ''] ], [ '位置',[ [ '', ''] ], ' 我得到了一些錯誤,作出反應... _TypeError:無法讀取屬性「地圖」的undefined_ –

+0

我無法理解你正在嘗試做的。你能否詳細說明一下? –