redux的使用demo

<!DOCTYPE html>
<html>
  <head>
    <title>Redux basic</title>
    <script src="https://unpkg.com/redux@latest/dist/redux.min.js"></script>
  </head>
  <body>
    <div>
        <p>
            <span id="colorEl">Watch my color.</span>
        </p>
         <button id="red">RED</button>
         <button id="green">GREEN</button>
         <button id="toggle">TOGGLE</button>
    </div>
    
    <script type="text/javascript">
        var initialState = {
            color: 'red',
            kk:2,
        }
        
        function color(state, action) {
            if(typeof state === 'undefined') {
                return initialState
            }

            switch(action.type) {
                case 'RED' : 
                    return { color: 'red',kk:1}
                case 'GREEN' : 
                    return { color: 'green',kk:3}
                case 'TOGGLE' :
                    var stateValue = store.getState();
                        stateValue.color = state.color === 'red' ? {color:'green'} : {color:'red'};
                    return stateValue
                default :
                    return state
            }
        }

        var store = Redux.createStore(color)
        var colorEl = document.getElementById('colorEl')

        function renderValue() {
            colorEl.style.color = store.getState().color;
            colorEl.innerText = colorEl.innerText + store.getState().kk;
        }

        renderValue()
        //注册监听器
        store.subscribe(renderValue)

        document.getElementById('red').addEventListener('click', function(){
            store.dispatch({
                type: 'RED'
            })
        })

        document.getElementById('green').addEventListener('click', function(){
            store.dispatch({
                type: 'GREEN'
            })
        })

        document.getElementById('toggle').addEventListener ('click', function(){
          store.dispatch({
            type: 'TOGGLE'
          })
        })

    </script>>
  </body>
</html>

猜你喜欢

转载自blog.csdn.net/zhjw1991/article/details/82689592
今日推荐