4 張動圖解釋為什麼(什麼時候)使用 Redux

首先,並不是所有的 React 應用程序都需要使用 Redux

。事實上,大多數非常簡單的 React 應用程序根本不能從 Redux 中受益。

第 1 天

使用 React 本地組件狀態

React 使用單向數據流,這意味著父組件把自身的狀態作為屬性傳遞給子組件。

第 5 天

隨著添加更多的功能,非父子組件之間需要共享一些狀態。

我們通過提升狀態來解決這個問題。

這意味著我們將狀態(和改變這個狀態的函數)提升到最接近的祖先(Container Component)。我們將這些函數綁定到容器組件,並將它們作為屬性向下傳遞。這意味著子組件可以觸發其父組件中的狀態更改,這將更新樹中的所有其他組件。

第 20 天

隨著添加了更多的功能和組件,我們的應用程序狀態流程開始看起來像這樣...

第 n 天

如果您開始遇到上述某些問題,則可能意味著您應該使用 Redux 了。

Redux

當我們使用 Redux 後,狀態變成了這樣:

如果您的應用符合以下某些條件,那麼我認為應該立即使用 Redux。

UI 可以根據應用程序狀態顯著變化並不總是以一種線性的,單向的方式流動許多不相關的組件以相同的方式更新狀態狀態樹並不簡單狀態以許多不同的方式更新您需要能夠撤消以前的用戶操作