日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

redux模块化demo

發布時間:2025/7/14 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 redux模块化demo 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

store.js 在redux中 store 是唯一的。

import {createStore} from 'redux'; import reducer from './reducer' // 引入后的reducer store是唯一的 const store = createStore(reducer);export default store;

reduce.js? 合并所以reducer

import {combineReducers} from 'redux'; import numReducer from './num/reducer' import todosReducer from './todos/reducer'; // 拿到單個模塊的reducer 進行合并 傳給store let reducer = combineReducers({num:numReducer,todos:todosReducer });export default reducer;

在todos模塊(文件夾)下

state.js

// 用來存儲當前模塊下的數據 const state = {list:[],count:0 }export default state;

reducer.js

// 將state導入 建立reducer函數 import _state from './state';let reduce = (state=_state,action)=>{console.log(action);let newState = {...state};if(action.type==='ADD'){newState.count = ++newState.count;newState.list.push(action.title)}return newState; } // reducer 用來處理state里面的數據 數據的驗證是通過action這個參數里的type進行的。 // action這個參數的傳遞是通過store.dispatch來分發的。 export default reduce;

action.js

// 主要作用是返回一個對象 讓actions 來使用 // p 是傳遞的參數 const action = {ADD(p){return {type :'ADD', //這里的ADD的type是與reducer里的驗證有關 title:p}} } export default action;

actions.js

import action from './action'; import store from '../store'; // 將傳遞的action參數引入 // 將store引入 把action參數傳給reducer。 const actions = {// p 是頁面傳來的值 addItem(p){// 將action的里面對象傳遞參數let act = action.ADD(p);// 使用store把action里面的對象 作為參數傳遞過去 store.dispatch(act);} }export default actions;

?App.js

import React, { Component } from 'react'; import './App.css'; import store from './redux/store' import actions from './redux/num/actions' import actions1 from './redux/todos/actions' // ui 組件 只取數據 class App extends Component {constructor(props){super(props);this.state = {n:store.getState().num.n,list:store.getState().todos.list}store.subscribe(()=>{//只要數據變化了這個回調函數就會執行this.setState({n:store.getState().num.n});this.setState({list:store.getState().todos.list})})this.inc = this.inc.bind(this);this.add = this.add.bind(this);}inc(){// console.log(actions.dispatchAction) actions.dispatchAction()}add(){actions1.addItem(this.node.value);this.node.value = '';}render() {return (<div className="App" onClick={this.inc}>{ this.state.n}<input type="text" ref={node=>this.node=node}/><button onClick={this.add}>add</button> {this.state.list.map((item,index)=>{return (<div key={index}>{item}</div> )})}</div> );} }export default App;

?

轉載于:https://www.cnblogs.com/l8l8/p/9482302.html

總結

以上是生活随笔為你收集整理的redux模块化demo的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品96久久久久久中文字幕无 | 91伦理视频 | 免费看黄在线看 | 九九久久国产 | 一级aa毛片 | 一区在线看 | 久久影视网 | 日韩免费观看视频 | 999国产精品视频免费 | 成人里番精品一区二区 | 日韩激情视频网站 | 免费网站污 | 用我的手指扰乱你 | 男人综合网 | 国产精品美女久久久久久久久 | 人人射人人射 | 羞羞的软件 | 韩国久久久久久 | 国产www在线观看 | 一本大道熟女人妻中文字幕在线 | 熟女性饥渴一区二区三区 | 欧美日韩高清免费 | 视频一区二区三区在线观看 | 精品国产亚洲av麻豆 | 久久亚洲AV成人无码国产野外 | 肥婆大荫蒂欧美另类 | 成年人在线网站 | 精品黑人一区二区三区 | 婷婷丁香社区 | 欧洲精品久久一区二区 | 日本一区二区不卡在线观看 | 天天干天天天天 | 亚洲av综合色区无码一二三区 | 欧美日韩成人精品 | 亚洲国产成人久久 | 日本a一级 | 国产一区二区三区在线观看免费 | 欧美少妇精品 | 亚洲成人免费网站 | 亚洲成人一二区 | 免费淫片| 青青草原综合久久大伊人精品 | 天天综合91 | 福利在线一区二区三区 | 欧美aaa在线观看 | 先锋影视av| 蜜桃va | 免费国产精品视频 | 91免费视频观看 | 激情欧美一区二区 | 久久午夜国产 | 色又色 | 亚洲欧美天堂 | 国产麻豆一精品一av一免费 | 国产制服在线 | 成人在线观看一区二区三区 | 99re热这里只有精品视频 | 久久免费看少妇高潮 | 亚洲精品专区 | 国产xxxxxxxxx| 欧美黑人激情 | 国产精品一二三区视频 | 超碰997| 免费av在线网址 | 抽插丰满内射高潮视频 | 一级特黄色大片 | 51吃瓜网今日吃瓜 | 日本动漫艳母 | 国产伦精品一区二区三区高清版禁 | 精品久久91 | 国产在线精品自拍 | 色婷婷在线影院 | 国产成人aaaa| 性色av蜜臀av浪潮av老女人 | 男人的天堂97| 在线观看一区二区视频 | 日韩不卡在线 | 午夜美女在线 | 日韩精品视频观看 | 妖精视频一区二区 | av资源站最新av | xxxx久久| 黄色资源在线 | 国产在线观看成人 | 国产av成人一区二区三区 | 卡通动漫av| www.久久精品.com | 日韩精品在线免费 | 日韩高清一级片 | av集中营 | 亚洲精品在线中文字幕 | 中文字幕日韩欧美在线 | 亚洲精品2 | 男性裸体全身精光gay | 7777精品视频 | 亚洲精品理论片 | 午夜精品成人毛片非洲 | 蜜桃视频日韩 | 韩国伦理片在线观看 |