UseReducer作用: 让 React 管理多个相对关联的状态数据
import { useReducer } from 'react' // 1. 定义reducer函数,根据不同的action返回不同的新状态 function reducer(state, action) { switch (action.type) { case 'INC': return state + 1 case 'DEC': return state - 1 default: return state } } function App() { // 2. 使用useReducer分派action const [state, dispatch] = useReducer(reducer, 0) return ( <> {/* 3. 调用dispatch函数传入action对象 触发reducer函数,分派action操作,使用新状态更新视图 */} {state} > ) } export default App
更新流程
分派action传参
做法:分派action时如果想要传递参数,需要在action对象中添加一个payload参数,放置状态参数
// 定义reducer import { useReducer } from 'react' // 1. 根据不同的action返回不同的新状态 function reducer(state, action) { console.log('reducer执行了') switch (action.type) { case 'INC': return state + 1 case 'DEC': return state - 1 case 'UPDATE': return state + action.payload default: return state } } function App() { // 2. 使用useReducer分派action const [state, dispatch] = useReducer(reducer, 0) return ( <> {/* 3. 调用dispatch函数传入action对象 触发reducer函数,分派action操作,使用新状态更新视图 */} {state} > ) } export default App
猜你喜欢
网友评论
- 搜索
- 最新文章
- 热门文章