美文网首页
一篇代码看懂redux

一篇代码看懂redux

作者: xiaoaiai | 来源:发表于2017-09-17 11:46 被阅读0次
    我想 很多人刚接触redux的时候都很蒙圈尤其是模块化开发的时候 一会儿就绕晕了
    我这次用一个加减法最简单的 一个页面来说明redux 我想大家直接看下就懂了

    直接复制粘贴就可以运行了

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <!--redux的cdn-->
            <script src="https://cdn.bootcss.com/redux/3.7.2/redux.js"></script>
        </head>
        <body>
            <p>
                <span id="crement">0</span>
                <button id="increment">+</button>
                <button id="decrement">-</button>
            </p>
            <script type="text/javascript">
                //定义action中的type的value  因为多个地方要用
                const INCREMENT = 'INCREMENT'
                const DECREMENT = 'DECREMENT'
                
                //定义reducer(不要问我reducer是什么,知道怎么用就行了)
                const counter = (state = 0,action) => {
                    switch(action.type){
                        case INCREMENT:
                            return state + 1
                        case DECREMENT:
                            return state - 1
                        default:
                            return state
                    }
                }
                
                //把定义的reducer仍在redux中的createStore
                const store = Redux.createStore(counter)
                
                //每次数据改变后需要渲染的地方(此render不是react的render)
                const render = () => {
                    // store.getState()获取state数据的地方
                    crement.innerHTML = store.getState()
                }
                
                //第一次打开时 运行  获取state的初始值
                render()
                
                //subscribe相当于watch(每次数据改变就运行render)
                store.subscribe(render)
                
                //increment+
                increment.addEventListener('click',()=>{
                    //运行dispatch 给它一个action
                    store.dispatch({type:INCREMENT})
                })
                
                //decrement-
                decrement.addEventListener('click',()=>{
                    store.dispatch({type:DECREMENT})
                })
            </script>
        </body>
    </html>
    

    这篇代码仅限redux (react,react-redux,都没有用)

    之后会再出一篇三者结合使用的

    相关文章

      网友评论

          本文标题:一篇代码看懂redux

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