React Suspense提供Redux的替代方案
React 16.6引入了Suspense,它能夠在某些時候(比如通過API調(diào)用獲取數(shù)據(jù))暫停渲染并展現(xiàn)一個加載中的指示器。
在常見的簡單場景中,React Suspense消除了使用Redux的必要性,React專家Ryan Florence這樣說到:
如果你使用Redux的主要場景是將其作為服務(wù)端數(shù)據(jù)的客戶端緩存,那么Suspense可以取代對Redux的使用。我之所以考慮這樣做是因為這樣能夠讓代碼更簡潔,同時能夠有效管理spinner。
對于更復(fù)雜的狀態(tài)管理,比如同步狀態(tài)到API和localStorage,Redux這種方式所提供的價值超過了Suspense。
Bartosz Szczeciński是來自波蘭GFT的軟件工程師,他認(rèn)為Suspense將會對React的使用產(chǎn)生重要的影響:
我們可能會看到許多庫會率先采用這種解決方案,并且必須調(diào)整我們的最佳實踐(在Render中調(diào)用AJAX請求突然間變得可行了),但我相信通過這種方式我們能夠為用戶創(chuàng)建更好的應(yīng)用程序和體驗!
React 16.6發(fā)布版本只包含了Suspense的一個使用場景,即通過React.lazy()和\u0026lt;React.Suspense\u0026gt;實現(xiàn)懶加載組件。React優(yōu)化代碼切分的方式以及Suspense的用法都包含在React代碼切分指南文檔中。
除了代碼切分之外,React團隊還計劃為Suspense添加額外的功能,包括處理數(shù)據(jù)抓取以及與GraphQL庫的集成。
Suspense服務(wù)端渲染的支持計劃在2019年實現(xiàn)。
React是遵循MIT許可證的開源軟件。React鼓勵開發(fā)者在遵循React貢獻指南和Facebook開源準(zhǔn)則的前提下,通過React GitHub項目為其做出貢獻和提供反饋。
查看英文原文:React Suspense Provides Redux Alternative
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的React Suspense提供Redux的替代方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: gcc编译以及Makefile与GDB调
- 下一篇: 【自定义Android带图片和文字的Im