Home >> Blog >> 什麼是 Redux?

什麼是 Redux?

什麼是 Redux?

您可能多次聽說過 Redux 這個詞,並且想知道 Redux 是什麼?在下面的短視頻和文章中,我將在不到一分鐘的時間內解釋什麼是 Redux

什麼是 Redux?

Redux 只是一個存儲應用程序中變量狀態的存儲。Redux 創建了一個與 store 交互的流程和過程,這樣組件就不會只是隨機更新或讀取 store。類似於銀行。這並不意味著你在銀行里有錢,你可以隨時去,打開金庫,取錢。您必須通過某些步驟才能取款。

在本文的其餘部分,我將展示如何創建一個 Redux Hello World,以在將 Redux 添加到 React 之前解釋它是如何工作的。

簡而言之,Redux 是一種管理“狀態”的方式,或者我們可以說它是一種緩存或存儲,可以被所有組件以結構化的方式訪問。它必須通過“Reducer”和“Actions”訪問

什麼是 Redux?

在這裡,為了簡單起見,我將只在一個文件中記錄創建 Hello World Redux 的步驟,無需多言。這不是現實世界的做法,但我想解釋事情如何以一種簡單的方式移動而不在文件之間跳轉:)。最終程式碼可以在這裡找到

首先讓我們了解 Redux 是如何工作的(沒有 React)

我將使用 Node.js 腳本來展示 Redux 如何在 Store、Actions 和 Reducers 之間工作

1.安裝redux

npm install --save redux

Redux 是一個獨立的庫。這裡我們只安裝 redux。

2.現在創建一個js文件(我的名為ReduxHelloWorld.js https://github.com/ranyelhousieny/testing-redux/blob/master/src/ReduxHelloWorld.js)

3.導入redux

const redux = require('redux');

4.創建一個基本的reducer

reducer 只不過是一個純函數,它接受 currentState 和 Action 並返回一個新狀態。一個有效的 Reducer 可以返回當前狀態。我們必須在 store 之前創建 Reducer,因為創建 store 需要它

// 1. Create a basic Reducer
const rootReducer = ( currentState = 0, action ) => {
return currentState; };

5.創建商店

// 2. 創建一個存儲
const store = redux.createStore( rootReducer );

商店執行的方法很少。其中之一是 getState()。讓我們將當前狀態寫入控制台並使用“node ReduxHelloWorld.js”運行文件,如下所示:

什麼是 Redux?

我們在這裡做了什麼?我們創建了一個 store,它將調用 reducer 並使用初始狀態為零進行初始化。現在讓我們發送一些動作

6.添加reducer動作

reducer只是一個帶有switch語句的函數,根據action.type決定執行哪個動作。讓我們添加一個動作來增加狀態

什麼是 Redux?

7.調度動作

我們在 store 上執行的另一種方法是 dispatch 一個 action。

store.dispatch({ type:'INCREMENT' });

通常,它需要一個類型和一個有效負載。但為了簡單起見,我現在只傳遞一個類型。

這是完整的文件和運行它的結果

什麼是 Redux?

當然,在現實生活中,狀態將是一個具有多個值和嵌套對象的更複雜的對象,但這是總體思路。這是發生的事情,再次,一步一步

1.我們創建了store並添加了初始值(來自reducer)

什麼是 Redux?

2.調度一個Action來增加狀態的值

什麼是 Redux?

我希望這能解釋 Redux 的工作原理。現在,讓我們將其映射到 React 中,在下面的文章中見

redux fundamentals tutorial

react-redux

state

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

redux

upgrade all available

鐵人賽

state

state

state

state

state

state

state

state

state

state

state

state

state

state

state

state

state

state

state

state

state

state

state

state

state

state

state

state

state

state

react-redux

action

action

action

action

action

action

action

store

store

store

store

store

store

store

store

store

store

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react

react