redux 第二部分

2022-08-09 11:03:08 字數 1887 閱讀 6357

redux 的使用方法,

為什麼使用 action.js 檔案,進行優化**將其分開,然後我們通過工廠函式的每次返回不同的物件,由於引數是固定的,每次返回的都是事件型別和事件資料,所以我們可以使用乙個函式,通過其返回值來返回乙個物件,讓後傳遞給 action ;

我們的 reducer 函式有兩個引數,引數一:state,引數二:action,

我們的 redux 中有乙個 createstore() 的函式,引數是 reducer 函式,並且有乙個返回值,就是 store,管理 redux 的 state 的資料;

如果我們向渲染到頁面上,我們就需要借助 store.subscribe() 的函式,監聽 state,每次頁面重新整理都會呼叫此函式,雖然每次更給都會呼叫此方法,但因為是 diff 演算法,所以並不會影響效能;

所以,核心 store.js 處理邏輯,index.js 來渲染頁面,元件來提交事件,

store.js  處理 redux 邏輯

index.js  渲染 redux 資料

元件.js  向 redux 提交資料

有關 store 的優化

store 將分為 4 個檔案,分別管理 store.js 的一部分,這樣的話,我們可以更好的處理裡面的內容;

reducer.js  是專門處理邏輯的地方,是 createstore 函式裡面的引數,reducer 函式,裡面擁有兩個形參,乙個 state 存放資料,乙個 action 元件通過 dispatch 提交的資料,

action.js  建立乙個工廠函式,由於返回的資料固定,所以我們只需要返回乙個物件,裡面有 type 屬性和 payload(載荷)屬性,這樣我們每次呼叫此工廠函式就可以了,無需每次都向上提交乙個物件,裡面 type 屬性和 payload 屬性

state.js  專門存放資料的地方

store.js  是專門管理 redux 的地方,我們通過 createstore 的返回值 store,來向上提交資料或者監聽 state 資料的變化來渲染頁面,createstore 裡面的引數是乙個函式,此函式就是 reducer 

如果我們的資料很多,該怎麼辦,乙個reducer最好只專心處理一種處理,但是不同種類的資料,我們就需要多個reducer來處理,我們怎樣才能把所有的 reducer 不同種類的資料融合起來

我們就要使用 redux 中的 combinereducers 方法來進行這方面的處理;

combinerducers() 方法,需要乙個引數,此引數是乙個物件,屬性值為 reducer 不同種類的資料,屬性可以分屬性值同名,es6的寫法,此函式有個返回值,返回值就是所用不同種類資料構成的集合

案例:reducer.js

store.js 無需改變

index.js 無需改變

當我們在元件呼叫redux資料的時候

我們的控制台就會列印此結果

所以相當於我們就改變了乙個 reducer.js 的檔案,然後就可以使用多個 reducers 函式

Web API 第二部分

web api 第二部分 元素偏移量 offset element.offsettop element.offsetleft element.offsetwidth 可以得到元素的大小 寬度和高度 是包含padding border width element.offsetheight elemen...

實驗二 第二部分

第二部分 ftp協議分析 1.兩個同學一組,a和b。2.在a主機上架設ftp伺服器 3.在b主機上執行wireshark,並登陸a主機的ftp伺服器,上傳一張,得到抓取的資料報,4.進行追蹤tcp流,顯示為原始資料,分析得到a主機登陸ftp的過程及使用者名稱密碼,還原上傳的,第二部分 ftp協議分析...

linux筆記第二部分

其實我只是想記錄下自己的學習軌跡,順便讓自己的部落格裡面稍微有點東西。之前筆記都是儲存在evernote上,因為是普通使用者,貌似不能共享。就拷過來了。總之這是第二部分 linux磁碟及檔案系統管理以及如何獲取幫助 linux 08磁碟基本概念 linux 09使用fdisk進行磁碟管理 1.fdi...