如何允许从具有空安全性的 dart 中的函数返回空值

时间:2021-03-16 11:05:13

标签: flutter dart flutter-redux

转向空安全后,我很难重构我的一些代码片段。

我有一个看起来像这样的方法

final Reducer<Exception> _errorReducer = combineReducers<Exception>([
  TypedReducer<Exception, ErrorOccurredAction>(_errorOccurredReducer),
  TypedReducer<Exception, ErrorHandledAction>(_errorHandledReducer),
]);

Exception _errorOccurredReducer(Exception _, ErrorOccurredAction action) {
  return action.exception;
}

Exception _errorHandledReducer(Exception _, ErrorHandledAction action) {
  return null;
}

由于 error 已初始化为 null,我如何允许 null 返回能够将其设置回 null。

最近开始接触静态类型工作流,​​所以我正在学习。

注意:如果有更好的做法来处理我正在努力实现的目标,请务必与我分享。

1 个答案:

答案 0 :(得分:1)

如果变量接受 ?,只需在类型后添加一个 null


Exception? _errorOccurredReducer(Exception _, ErrorOccurredAction action) {
  return action.exception;
}

Exception? _errorHandledReducer(Exception _, ErrorHandledAction action) {
  return null;
}