【问题标题】:Generics in TypedReducer in dart's flutter reduxdart 的颤振 redux 中的 TypedReducer 中的泛型
【发布时间】:2019-11-13 16:38:52
【问题描述】:

我只是玩了一下颤振,函数调用中的泛型让我感到困惑。 考虑下面的调用:

final signinReducer = combineReducers<SignInState>([
  TypedReducer<SignInState,ValidateEmailAction>(_validateEmail),
  TypedReducer<SignInState,ValidatePasswordAction>(_validatePassword),
  TypedReducer<SignInState,ValidateLoginFields>(_validateLoginFieldsAction),
  TypedReducer<SignInState,ChangeLoadingStatusAction>(_changeLoadingStatusAction),
  TypedReducer<SignInState,EmailErrorAction>(_emailErrorAction),
  TypedReducer<SignInState,PasswordErrorAction>(_passwordErrorAction),
  TypedReducer<SignInState,SaveTokenAction>(_saveToken),
  TypedReducer<SignInState,ConfirmForgotPasswordAction>(_confirmCodeAction),
  TypedReducer<SignInState,CheckTokenAction>(_checkTokenAction),
  TypedReducer<SignInState,ClearErrorsAction>(_clearErrorsAction),
  TypedReducer<SignInState,ChangeScreenStateAction>(_changeScreenStateAction),
]);

...

SignInState _validateEmail(SignInState state, ValidateEmailAction action){
  return state.copyWith(email: action.email);
}

SignInState _validatePassword(SignInState state, ValidatePasswordAction action) =>
    state.copyWith(password: action.password);
....

那么combineReducers&lt;SignInState&gt; 中的泛型表示什么?

同样最令人困惑的是这种语法:TypedReducer&lt;SignInState, ValidateEmailAction&gt;(_validateEmail)。第二种ValidateEmailAction在这里做什么?

【问题讨论】:

    标签: flutter dart flutter-redux


    【解决方案1】:

    在 Android Studio 中按住 Ctrl 并点击 TypedReducer 或任何其他你不知道的类型,然后你可以在源文件中阅读更多信息。

    在这种情况下:TypedReducer

    /// 创建一个reducer,只有在dispatch的action才会执行 /// 匹配 [Action] 类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-21
      • 2018-02-25
      • 2020-04-27
      • 2019-03-15
      • 2020-01-13
      • 2022-07-22
      • 2021-11-04
      • 2020-07-17
      相关资源
      最近更新 更多