react項(xiàng)目使用redux初始化方式
1.下載依賴(lài)包
npm i redux react-redux redux-thunk redux-devtools-extension
2.src下新建store文件夾
store文件夾新建如下目錄
----store // redux相關(guān)存放文件夾 ---index.js // redux出口文件 ---actions/模塊.js // 存放組件中dispatch的函數(shù) ---actionTypes.js // 存放dispatch攜帶的type常量 ---reducers/index.js // 主要用來(lái)合并模塊并導(dǎo)出store ---reducers/模塊.js // store中模塊的reducers
3.store/模塊文件
模塊文件需要寫(xiě)入reducer的函數(shù)并設(shè)置默認(rèn)狀態(tài)
/* 1.定義初始狀態(tài),初始狀態(tài)要根據(jù)實(shí)際業(yè)務(wù)確定(慎重),根據(jù)實(shí)際業(yè)務(wù)確定初始狀態(tài)是數(shù)組還是對(duì)象 2. 導(dǎo)出一個(gè)reducers的函數(shù) 并設(shè)置默認(rèn)狀態(tài) 下面天譴寫(xiě)好Swatch的格式 */ const initChannels = { activeId: 0, channels: [] } export default function Channels (state = initChannels, action) { switch (action.type) { case action.type: return action.type default: return state } }
4.reducer/index.js
/* 1.從redux中導(dǎo)入合并reducers中的方法 2.導(dǎo)入相關(guān)模塊進(jìn)行合并導(dǎo)出 */ import { combineReducers } from 'redux' import Channel from './Channel' import NewsList from './NewsList' export default combineReducers({ Channel, NewsList })
5.配置store/index.js文件
// 1.導(dǎo)入創(chuàng)建store的方法和中間件的方法 import { createStore, applyMiddleware } from 'redux' // 2.導(dǎo)入thunk使dispatch內(nèi)部可以寫(xiě)函數(shù) import thunk from 'redux-thunk' // 3.導(dǎo)入redux調(diào)試工具 import { composeWithDevTools } from 'redux-devtools-extension' // 4.導(dǎo)入reducers并掛載 import rootReducers from '@/store/reducers' /* 5.創(chuàng)建store 第一個(gè)參數(shù)是reducers第二個(gè)參數(shù)是先注冊(cè) 第二個(gè)參數(shù)先使用redux調(diào)試工具最外層包裹 在使用中間件對(duì)thunk進(jìn)行包裹 */ export default createStore( rootReducers, composeWithDevTools(applyMiddleware(thunk)) )
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解在React項(xiàng)目中如何集成和使用web worker
在復(fù)雜的React應(yīng)用中,某些計(jì)算密集型或耗時(shí)操作可能會(huì)阻塞主線程,導(dǎo)致用戶(hù)界面出現(xiàn)卡頓或響應(yīng)慢的現(xiàn)象,為了優(yōu)化用戶(hù)體驗(yàn),可以采用Web Worker來(lái)在后臺(tái)線程中執(zhí)行這些操作,本文將詳細(xì)介紹在React項(xiàng)目中如何集成和使用Web Worker來(lái)改善應(yīng)用性能,需要的朋友可以參考下2023-12-12React Native時(shí)間轉(zhuǎn)換格式工具類(lèi)分享
這篇文章主要為大家分享了React Native時(shí)間轉(zhuǎn)換格式工具類(lèi),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10使用react實(shí)現(xiàn)手機(jī)號(hào)的數(shù)據(jù)同步顯示功能的示例代碼
本篇文章主要介紹了使用react實(shí)現(xiàn)手機(jī)號(hào)的數(shù)據(jù)同步顯示功能的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04React超詳細(xì)分析useState與useReducer源碼
我正在處理的組件是表單的時(shí)間輸入。表單相對(duì)復(fù)雜,并且是動(dòng)態(tài)生成的,根據(jù)嵌套在其他數(shù)據(jù)中的數(shù)據(jù)顯示不同的字段。我正在用useReducer管理表單的狀態(tài),到目前為止效果很好2022-11-11一文教你如何避免React中常見(jiàn)的8個(gè)錯(cuò)誤
這篇文章主要來(lái)和大家一起分享在?React?開(kāi)發(fā)中常見(jiàn)的一些錯(cuò)誤,以及如何避免這些錯(cuò)誤,理解這些問(wèn)題背后的細(xì)節(jié),防止犯下類(lèi)似的錯(cuò)誤,需要的可以參考下2023-12-12react常見(jiàn)的ts類(lèi)型實(shí)踐解析
這篇文章主要為大家介紹了react常見(jiàn)的ts類(lèi)型實(shí)踐解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04react清空ant.design中表單內(nèi)容的方法實(shí)現(xiàn)
本文主要介紹了react清空ant.design中表單內(nèi)容的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-12-12React 項(xiàng)目遷移 Webpack Babel7的實(shí)現(xiàn)
這篇文章主要介紹了React 項(xiàng)目遷移 Webpack Babel7的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-09-09