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>

  

转载于:https://www.cnblogs.com/sean-/p/5416340.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值