• redux 入门教程1


    新手看网上一些redux文章,很容易被那些概念搞糊涂,本人照着官方例子打算写个系列新手教程,大家可以参考下,转载请注明出处

     redux 理念详解:http://zhuanlan.zhihu.com/haochuan/20641377

    教程1即没有用到react,也没有用到npm这些东西,非常适合大家从本质上理解redux。

    1.加载redux.js  <script src="https://npmcdn.com/redux@latest/dist/redux.min.js"></script>

    2.html

    <div id="container">
    <button onClick="select('a')">click a</button>
    <button onClick="select('b')">click b</button>
    <button onClick="select('c')"> click c</button>
    <div id="show"> </div>
    </div>

    3.js

    //handleStore相当于控制store的一个函数,也就是reducers

    function handleStore(store, action){
    if(typeof store === undefined){
    return false;
    }

    switch(action.type){
    case 'a': return 'this is A'; break;
    case 'b': return'this is B'; break;
    case 'c': return 'this is C'; break;
    default: return 'this is None'; break;
    }
    }

    //store通过createStore创建
    var store = Redux.createStore(handleStore);

    //通过subscribe可以观察到store改变

    store.subscribe(function(){
    document.getElementById('show').innerHTML = store.getState().toString();
    });

    //初始化执行

    select('');

    function select(item){
    store.dispatch({
    type: item
    });
    }

    所有源码:

    <!DOCTYPE html>
    <html>
      <head>
        <title>Redux basic example</title>
        <script src="https://npmcdn.com/redux@latest/dist/redux.min.js"></script>
      </head>
      <body>
        <div id="container">
            <button onClick="select('a')">click a</button>
            <button onClick="select('b')">click b</button>
            <button onClick="select('c')"> click c</button>
            <div id="show"> </div>
        </div>
    
    
        <script>
            function handleStore(store, action){
                if(typeof store === undefined){
                    return false;
                }
    
                switch(action.type){
                    case 'a': return 'this is A'; break;
                    case 'b': return'this is B'; break;
                    case 'c': return 'this is C'; break;
                    default: return 'this is None'; break;
                }
            }
            var store = Redux.createStore(handleStore);
    
            store.subscribe(function(){
                document.getElementById('show').innerHTML = store.getState().toString();
            });
    
            select('');
    
            function select(item){
                store.dispatch({
                    type: item
                });
            }
        </script>
    
    
      </body>
      </html>
    

      

  • 相关阅读:
    JavaScript constructor prototyoe
    bootstrap固定响应式导航
    跨浏览器事件处理程序
    原生JS实现字符串分割
    关于css里的class和id
    js动态创建表格方法
    关于css的默认宽度
    js字符串大小写转换
    C++类的一个重要成员:静态成员(二)——静态成员的定义
    C++ 类的一个重要成员:静态成员(一)
  • 原文地址:https://www.cnblogs.com/sean-/p/5416340.html
Copyright © 2020-2023  润新知