React Suspense提供Redux的替代方案

React 16.6引入了Suspense,它能夠在某些時候(比如通過API調用獲取數據)暫停渲染並展現一個加載中的指示器。

常見的簡單場景中,React Suspense消除了使用Redux的必要性,React專家Ryan Florence這樣說到:

如果你使用Redux的主要場景是將其作爲服務端數據的客戶端緩存,那麼Suspense可以取代對Redux的使用。我之所以考慮這樣做是因爲這樣能夠讓代碼更簡潔,同時能夠有效管理spinner。

對於更復雜的狀態管理,比如同步狀態到API和localStorage,Redux這種方式所提供的價值超過了Suspense。

Bartosz Szczeciński是來自波蘭GFT的軟件工程師,他認爲Suspense將會對React的使用產生重要的影響:

我們可能會看到許多庫會率先採用這種解決方案,並且必須調整我們的最佳實踐(在Render中調用AJAX請求突然間變得可行了),但我相信通過這種方式我們能夠爲用戶創建更好的應用程序和體驗!

React 16.6發佈版本只包含了Suspense的一個使用場景,即通過React.lazy()<React.Suspense>實現懶加載組件。React優化代碼切分的方式以及Suspense的用法都包含在React代碼切分指南文檔中。

除了代碼切分之外,React團隊還計劃爲Suspense添加額外的功能,包括處理數據抓取以及與GraphQL庫的集成。

Suspense服務端渲染的支持計劃在2019年實現。

React是遵循MIT許可證的開源軟件。React鼓勵開發者在遵循React貢獻指南Facebook開源準則的前提下,通過React GitHub項目爲其做出貢獻和提供反饋。

查看英文原文:React Suspense Provides Redux Alternative

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