Redux介绍
Redux快速体验
1. 实现计数器
<button id="decrement">-</button>
<span id="count">0</span>
<button id="increment">+</button>
<script src="https://unpkg.com/redux@latest/dist/redux.min.js"></script>
<script>
// 定义reducer函数
// 内部主要的工作是根据不同的action 返回不同的state
function counterReducer (state = { count: 0 }, action) {
switch (action.type) {
case 'INCREMENT':
return { count: state.count + 1 }
case 'DECREMENT':
return { count: state.count - 1 }
default:
return state
}
}
// 使用reducer函数生成store实例
const store = Redux.createStore(counterReducer)
// 订阅数据变化
store.subscribe(() => {
console.log(store.getState())
document.getElementById('count').innerText = store.getState().count
})
// 增
const inBtn = document.getElementById('increment')
inBtn.addEventListener('click', () => {
store.dispatch({
type: 'INCREMENT'
})
})
// 减
const dBtn = document.getElementById('decrement')
dBtn.addEventListener('click', () => {
store.dispatch({
type: 'DECREMENT'
})
})
</script>2. Redux数据流架构
Redux与React - 环境准备
1. 配套工具

2. 配置基础环境
3. store目录结构设计

Redux与React - 实现counter
1. 整体路径熟悉

2. 使用React Toolkit 创建 counterStore
3. 为React注入store
4. React组件使用store中的数据

5. React组件修改store中的数据

Redux与React - 提交action传参

Redux与React - 异步action处理
Redux调试 - devtools

美团小案例
1. 案例演示

2. 准备并熟悉环境
3. 分类和商品列表渲染
4. 点击分类激活交互实现
5. 商品列表切换显示

6. 添加购物车实现
7. 统计区域实现

8. 购物车列表功能实现

9. 控制购物车显示和隐藏

Last updated







