reactjs - Redux 中的 Reducer 规则
问题描述
Redux 中 Reducer 的规则之一是我们不应该从我们的 reducer 返回 undefined(任何其他返回值似乎都很好,包括 null)
我只是想了解这背后的原因。是因为 Redux 库的构建方式吗?
解决方案
它专门用于安全检查,combineReducers
以避免意外地根本不返回任何状态:
https://redux.js.org/api/combinereducers#notes
它决不能返回
undefined
。通过提前返回语句错误地执行此操作太容易了,因此combineReducers
如果您这样做会抛出异常,而不是让错误在其他地方表现出来。如果
state
给定它是undefined
,它必须返回这个特定减速器的初始状态。根据前面的规则,初始状态也不能是未定义的。使用 ES6 可选参数语法指定它很方便,但您也可以显式检查第一个参数是否为undefined
.
推荐阅读
- android - # 在 https://developer.android.com/ 中是什么意思
- scala - 如何在火花数据帧中将其他情况转换为其他情况
- dependency-injection - 在没有依赖注入 (DI) 容器的情况下使用 ASP.NET 样板?
- laravel-controller - 更改控制器目录时未找到 Laravel 自定义控制器
- ios - 如何使用swift模仿与导航控制器的后退按钮相同的后退按钮动作?
- wordpress - 如何在另一个模板中加载 i 框架中的模板
- python - Python strptime missing some milliseconds when running script in different computer
- angular - 如何在不刷新数据的情况下将数据从一个组件传递到另一个组件(使用服务)
- javascript - 我在 reactjs 中有一个秒表,如何将每个数字添加到某种数组中以显示每个数字?
- laravel - 仍在向 Laravel 中的旧 Mailtrap 设置发送电子邮件