跳至主内容
非官方测试版翻译

本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →

示例

Redux 在其源代码中提供了一些示例。这些示例大多也可以在在线编辑器 CodeSandbox 上找到,您可以直接在线操作这些示例。

原生计数器

运行原生计数器示例:

git clone https://github.com/reduxjs/redux.git

cd redux/examples/counter-vanilla
open index.html

或在sandbox中查看:

此示例无需构建系统或视图框架,专门用于展示在 ES5 环境中直接使用 Redux API 的方式。

计数器

运行计数器示例:

git clone https://github.com/reduxjs/redux.git

cd redux/examples/counter
npm install
npm start

或在sandbox中查看:

这是 React 与 Redux 结合使用的最基础示例。为简化实现,它在 store 变更时手动重新渲染 React 组件。在实际项目中,建议改用高性能的 React Redux 绑定库。

此示例包含测试。

待办事项

运行待办事项示例:

git clone https://github.com/reduxjs/redux.git

cd redux/examples/todos
npm install
npm start

或在sandbox中查看:

这是深入理解 Redux 中状态更新如何与组件协作的最佳示例。它展示了 reducer 如何将 action 处理委托给其他 reducer,以及如何使用 React Redux 从展示组件生成容器组件。

此示例包含测试。

支持撤销的待办事项

运行支持撤销的待办事项示例:

git clone https://github.com/reduxjs/redux.git

cd redux/examples/todos-with-undo
npm install
npm start

或在sandbox中查看:

这是前一个示例的变体,两者几乎完全相同。额外展示了如何用 Redux Undo 包装 reducer,仅需几行代码即可为应用添加撤销/重做功能。

TodoMVC

运行TodoMVC示例:

git clone https://github.com/reduxjs/redux.git

cd redux/examples/todomvc
npm install
npm start

或在sandbox中查看:

这是经典的 TodoMVC 实现示例。提供此示例是为了方便比较,其核心内容与待办事项示例相同。

此示例包含测试。

购物车

运行购物车示例:

git clone https://github.com/reduxjs/redux.git

cd redux/examples/shopping-cart
npm install
npm start

或在sandbox中查看:

此示例展示了随着应用规模增长而变得至关重要的 Redux 典型模式。具体而言,它演示了如何通过实体 ID 以规范化方式存储数据、如何在多个层级组合 reducer,以及如何与 reducer 一同定义选择器以封装状态结构的实现细节。同时示例还展示了使用 Redux Logger 进行日志记录,以及通过 Redux Thunk 中间件实现条件式 action 派发。

树视图

运行 树视图 示例:

git clone https://github.com/reduxjs/redux.git

cd redux/examples/tree-view
npm install
npm start

或在 沙盒 中查看:

此示例演示如何渲染深度嵌套的树状结构,并通过规范化形式表示其状态以便 reducer 轻松更新。容器组件通过细粒度订阅仅渲染相关树节点,实现了良好的渲染性能。

此示例包含测试。

异步

运行 异步 示例:

git clone https://github.com/reduxjs/redux.git

cd redux/examples/async
npm install
npm start

或在 沙盒 中查看:

此示例涵盖从异步 API 读取数据、响应用户输入获取数据、显示加载指示器、响应缓存及缓存失效等场景。它使用 Redux Thunk 中间件封装异步副作用。

同构

运行 同构 示例:

git clone https://github.com/reduxjs/redux.git

cd redux/examples/universal
npm install
npm start

这是 Redux 与 React 实现服务器端渲染的基础演示。它展示如何在服务端准备初始 store 状态,并将其传递给客户端以便从现有状态启动客户端 store。

真实场景

运行 真实场景 示例:

git clone https://github.com/reduxjs/redux.git

cd redux/examples/real-world
npm install
npm start

或在 沙盒 中查看:

这是最复杂的高级示例,其设计理念是高度集成。它涵盖以下内容:将获取的实体存入规范化缓存、实现自定义 API 调用中间件、渲染部分加载数据、分页处理、响应缓存、错误消息显示和路由管理。此外还包含 Redux DevTools 集成。

更多示例

您可以在 Redux 插件目录Redux 应用与示例 页面找到更多示例。