首页 > 解决方案 > Redux 中的 Reducer 规则

问题描述

Redux 中 Reducer 的规则之一是我们不应该从我们的 reducer 返回 undefined(任何其他返回值似乎都很好,包括 null)

我只是想了解这背后的原因。是因为 Redux 库的构建方式吗?

标签: reactjsreduxreact-redux

解决方案


它专门用于安全检查,combineReducers以避免意外地根本不返回任何状态:

https://redux.js.org/api/combinereducers#notes

  • 它决不能返回undefined。通过提前返回语句错误地执行此操作太容易了,因此combineReducers如果您这样做会抛出异常,而不是让错误在其他地方表现出来。

  • 如果state给定它是undefined,它必须返回这个特定减速器的初始状态。根据前面的规则,初始状态也不能是未定义的。使用 ES6 可选参数语法指定它很方便,但您也可以显式检查第一个参数是否为undefined.


推荐阅读