本篇內(nèi)容主要講解“redux的基礎(chǔ)知識(shí)點(diǎn)有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“redux的基礎(chǔ)知識(shí)點(diǎn)有哪些”吧!
為靈璧等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及靈璧網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、靈璧網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
redux是什么
1.redux是一個(gè)專門用于做狀態(tài)管理的JS庫(不是react插件庫)。
2.它可以用在react, angular, vue等項(xiàng)目中, 但基本與react配合使用。
3.作用: 集中式管理react應(yīng)用中多個(gè)組件共享的狀態(tài)。
什么情況下需要使用redux
1.某個(gè)組件的狀態(tài),需要讓其他組件可以隨時(shí)拿到,可以產(chǎn)生共享情況。
2.一個(gè)組件需要改變另一個(gè)組件的狀態(tài),不僅局限于父子關(guān)系,而是一個(gè)項(xiàng)目中所有的組件都可以調(diào)用這個(gè)狀態(tài)或方法。
3.使用redux原則:能不用就不用, 如果不用比較吃力才考慮使用。通常用于大型項(xiàng)目,組件之間通信較為復(fù)雜的情況。小型項(xiàng)目不需要使用可以盡量不用。
redux工作流程
三個(gè)核心概念:
1.action(動(dòng)作的對(duì)象)
包含2個(gè)屬性
type:標(biāo)識(shí)屬性, 值為字符串, 唯一, 必要屬性
data:數(shù)據(jù)屬性, 值類型任意, 可選屬性
例子:{ type: ‘ADD_STUDENT’,data:{name: ‘tom’,age:18} }
2.reducer(用于初始化狀態(tài)、加工狀態(tài))
加工時(shí),根據(jù)舊的state和action, 產(chǎn)生新的state的純函數(shù)。
3. store(將state、action、reducer聯(lián)系在一起的對(duì)象)
使用方法
import {createStore} from 'redux'
import reducer from './reducers'
const store = createStore(reducer)
該對(duì)象的功能
1)getState(): 得到state
2)dispatch(action): 分發(fā)action, 觸發(fā)reducer調(diào)用, 產(chǎn)生新的state
3)subscribe(listener): 注冊(cè)監(jiān)聽, 當(dāng)產(chǎn)生了新的state時(shí), 自動(dòng)調(diào)用
redux的核心API
1.createstore()
創(chuàng)建包含指定reducer的store對(duì)象
2.store對(duì)象
作用: redux庫最核心的管理對(duì)象
它內(nèi)部維護(hù)著:state和reducer
核心方法:
1)getState()
2)dispatch(action)
3)subscribe(listener)
具體編碼:
1)store.getState()
2)store.dispatch({type:‘INCREMENT’, number})
3)store.subscribe(render)
3.applyMiddleware()
應(yīng)用上基于redux的中間件(插件庫)
4.combineReducers()
合并多個(gè)reducer函數(shù)
到此,相信大家對(duì)“redux的基礎(chǔ)知識(shí)點(diǎn)有哪些”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!