• Redux Counter Vanilla example


    此示例不需要构建系统或视图框架,并且存在以显示与ES5一起使用的原始Redux API。

    代码如下

    <!DOCTYPE html>
    <html>
      <head>
        <title>Redux basic example</title>
        <script src="https://unpkg.com/redux@latest/dist/redux.min.js"></script>
      </head>
      <body>
        <div>
          <p>
            Clicked: <span id="value">0</span> times
            <button id="increment">+</button>
            <button id="decrement">-</button>
            <button id="incrementIfOdd">Increment if odd</button>
            <button id="incrementAsync">Increment async</button>
          </p>
        </div>
        <script>
          function counter(state, action) {
            if (typeof state === 'undefined') {
              return 0
            }
    		//将action和state联系起来的reducer
            switch (action.type) {
              case 'INCREMENT':
                return state + 1
              case 'DECREMENT':
                return state - 1
              default:
                return state
            }
          }
    	//store存储数据
          var store = Redux.createStore(counter)
          var valueEl = document.getElementById('value')
    
          function render() {
            valueEl.innerHTML = store.getState().toString()
          }
    
          render()
          store.subscribe(render)
          document.getElementById('increment')
            .addEventListener('click', function () {
    		//通过store.dispatch将action传到store
              store.dispatch({ type: 'INCREMENT' })
            })
    
          document.getElementById('decrement')
            .addEventListener('click', function () {
              store.dispatch({ type: 'DECREMENT' })
            })
    
          document.getElementById('incrementIfOdd')
            .addEventListener('click', function () {
              if (store.getState() % 2 !== 0) {
                store.dispatch({ type: 'INCREMENT' })
              }
            })
    
          document.getElementById('incrementAsync')
            .addEventListener('click', function () {
              setTimeout(function () {
                store.dispatch({ type: 'INCREMENT' })
              }, 1000)
            })
        </script>
      </body>
    </html>
    
  • 相关阅读:
    JAVA最简单常识
    BREW的资源文件概述及问题
    c语言 512
    c语言510 求矩阵的乘积
    c语言 511
    c语言57
    c语言 59
    c语言55 在应用对象式宏的数组中对数组元素进行倒序排列
    c语言 511
    c语言 510 求4行3列矩阵和3行4列矩阵的乘积。各构成元素的值从键盘输入。
  • 原文地址:https://www.cnblogs.com/smart-girl/p/10781499.html
Copyright © 2020-2023  润新知