美文网首页
4-redux 代码组织

4-redux 代码组织

作者: 谷子多 | 来源:发表于2018-06-14 00:43 被阅读0次

1、

在src文件夹下创建:store文件=》configureStore.js,用来放置redux的启动代码。只要是返回一个store.

//整体的代码骨架:
import {
    createStore,
    applyMiddleware,
    combineReducers
} from 'redux'
import thunk from 'redux-thunk' 
// 引入reducer
import reducers from './reducers'

const rootReducers = combineReducers({
    ...reducers
})

const middleweares = applyMiddleware(thunk)

function configureStore(){ 
    return createStore(rootReducers,middleweares)
}

export default configureStore

2、拆分reducer到对应文件,不要都写在index.js
如:counterRedux.js下放置对应的reducer和action,导出reducer
注意:不要把所有action都放在同一文件下,将对应的action放置在对应的redux文件下,把所有的action都使用export导出去。

const INCREASE = 'INCREASE/rdx/magicNum'
const DECREASE = 'DECREASE/rdx/magicNum'
// 把所有的action放到一个对象中,最后需要导出这个对象
let actions = {
    increaseAction : (val)=>({
        type: INCREASE,
        val
    }),
    decreaseAction : (val)=>(dispatch,getState)=>{
        if(getState()-val >= 0){
            dispatch({
                type: DECREASE,
                val
            })
        }
    },
    increaseByOddAction : (val)=>(dispatch,getState)=>{
        if(getState()%2!==0){
            dispatch(increaseAction(val))
        }
    },
    increaseByAsyncAction : (val)=>(dispatch,getState)=>{
        setTimeout(()=>{
            dispatch(decreaseAction(val))
        },1000)
    }
}
export {actions}

export default function counter(state=0,action){
    let {type,val} = action

    switch (type) {
        case INCREASE : 
            return state+val
            break;
        case DECREASE : 
            return state-val
            break;
        default : 
            return state
    }
    return state 
}

3、组合reducers
引入需要的reducer

import counter from '../component/counterRedux'
import magicNum from '../component/magicNumRedux'

export default {
    counter,
    magicNum
}
屏幕快照 2018-06-14 上午12.40.37.png

相关文章

  • 4-redux 代码组织

    1、 在src文件夹下创建:store文件=》configureStore.js,用来放置redux的启动代码。只...

  • 代码组织

    来自 Mattt Thompson 利用代码块 Pragma Pragma Mark #pragma mark -...

  • 代码组织框架

    一、一般的目录结构 VC:ViewControllersVM:ViewModelsCoordinator:大门Co...

  • 代码组织方式

    以往自己写代码,都是将函数声明、类声明和定义等写到 .h文件,将函数定义、类实现等写到 .cpp 文件。最近发现很...

  • 代码的组织

    把每个模块写成一个函数,就不显得杂乱了。就不用使用注释标示模块开始结尾了。所以写成函数还是有这样一个好处的。在函数...

  • iOS开发 | 代码组织之道

    正确组织代码的意义: 方便他人同时也是方便自己快速定位代码、修改代码。 怎样组织才是正确的: 也许组织的方式有很多...

  • Swift中的代码组织

    1、代码组织和Framework2、安全的资源组织方式3、文档注释4、编译标记 1、代码组织和Framework ...

  • 代码组织和 Framework

    // 代码组织和 Framework /* 1, .a的二进制文件加上一些 .h的头文件。使用事比较麻烦, > 配...

  • 代码组织:函数(def)

    代码组织:函数(def) 封装一个功能 封装 容器是对数据的封装函数是对语句的封装类是对方法和属性的封装 函数(f...

  • go项目代码组织

    参考链接 https://tkstorm.com/posts-list/software-engineering/...

网友评论

      本文标题:4-redux 代码组织

      本文链接:https://www.haomeiwen.com/subject/oepxeftx.html