useReducer

JavaScript 中拿到Reducer:

不仅仅存在 Redux 中,可以使用 JavaScript 来完成Reducer 操作。reducer 其实就是一个函数,这个函数接收两个参数,一个是状态,一个用来控制业务逻辑的判断参数(state和 action )

useReducer ,它也是React Hooks 提供的函数,可以增强我们的 Reducer ,实现类似 Redux 的功能。

import React ,{useReducer } from 'react'

function HReducer(){
    const [count, dispatch] = useReducer((state, action) => { //dispatch派发action
        switch(action){
            case 'add':
                return state+1
            case 'sub':
                return state-1
            default:
                return state
        }  
    },0) //useReducer中传两个参数,reducer函数 和 state初始值
    return (
        <div>
            <h3>count:{count}</h3>
            <button onClick={()=>dispatch('add')}>+</button>
            <button onClick={()=>dispatch('sub')}>-</button>
        </div>
    )
}
export default HReducer;

 

posted @ 2021-02-02 00:03  shanlu  阅读(162)  评论(0编辑  收藏  举报