定义应用的主状态

当使用Redux构建应用程序时,首先要考虑的是“我要存储什么状态”? 捕获所有应用程序的状态通常是一个好主意,以便在任何地方都可以访问,而且都在同一位置方便检查。

在应用程序state中,我们存储的东西如下:

  • 通过调用API收到的数据
  • 用户输入
  • 视图状态,如菜单和按钮切换
  • Application preferences
  • 国际化信息
  • 主题和其他可定制的应用领域

要定义应用程序的state,请使用名为AppStateIAppState的接口,这取决于项目中使用的命名约定。

示例:

app/models/appState.ts

  1. export interface AppState {
  2. readonly colors: Colors;
  3. readonly localization: Localization;
  4. readonly login: Login;
  5. readonly projectList: ProjectList;
  6. readonly registration: Registration;
  7. readonly showMainNavigation: boolean;
  8. }

注意:我们使用readonly来确保编译时不可变性,并且它提供了最简单的不可变实现,而不增加更多的依赖性来混淆示例。 但是,您可以自由地选择其他方法。