爲什麼我不再用Redux了

本文最初發佈於 DEV 網站,經原作者授權由 InfoQ 中文站翻譯並分享。

Redux 是 React 生態系統中的革命性技術。它使我們能夠在全局範圍內存儲不可變數據,並解決了在組件樹中 prop-drilling 的問題。需要在應用程序之間共享不可變數據時,它現在依舊是一種可以方便擴展的優秀工具。

但是,爲什麼我們非得需要一個全局存儲呢?我們的前端應用程序真的那麼複雜嗎,還是說我們試圖用 Redux 做的事情太多了?

單頁應用程序的問題

React 這樣的單頁應用程序(SPA)的出現爲我們開發 Web 應用程序的方式帶來了許多變化。它將我們的後端與前端代碼分離開來,使我們能夠專心一致並分離出關注點。圍繞狀態,它還引入了很多複雜性。

現在,異步獲取數據意味着數據必須位於兩個位置:前端和後端。我們必須考慮如何在全局範圍內以最佳方式存儲這些數據,以便它們能對我們的所有組件都可用,同時保持數據緩存以減少網絡延遲。現在,前端開發中的很大一部分負擔來自於我們的全局存儲的維護工作,我們還要確保這些存儲不會遭受狀態錯誤、數據非規範化和陳舊數據的困擾。

Redux 不是緩存

使用 Redux 和類似的狀態管理庫時,大多數人都會遇到的一大問題是,我們會將其視爲後端狀態的緩存。我們獲取數據,通過 reducer/action 將其添加到存儲中,並定期重新獲取以確保它是最新的。我們用 Redux 做的事情太多了,甚至把它看成是解決問題的全面解決方案。

原文鏈接:【https://www.infoq.cn/article/9ABCwvIOIcCVmIo5xDxY】。未經作者許可,禁止轉載。

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