【问题标题】:Flow type error on Immutable-js Record [1] is not a polymorphic typeImmutable-js Record [1] 上的流类型错误不是多态类型
【发布时间】:2020-03-16 04:45:40
【问题描述】:

我在 reactjs 中使用 immutable-js,当我使用 flow 进行类型检查时,出现以下错误。

无法实例化 Record,因为类 Record [1] 不是多态类型。

 src/service/login.js
   32│
   35│ const StoreRecord: Record<LoginTypeDef> = Record({
   36│   userId: fromJS(academicYearInitialState),
   37│   userName: null,
   38│   userRole: null,
 node_modules/immutable/dist/immutable.js.flow

[1] 1395│声明类记录{

以下是我的记录初始化。

const StoreRecord: Record = Record({ 用户ID:空, 用户名:空, 用户角色:空 });

LoginTypeDef 导出为, 导出类型 LoginTypeDef = {| 用户ID:字符串, 用户名:字符串, 用户角色:字符串 |};

【问题讨论】:

    标签: reactjs redux flowtype immutable.js


    【解决方案1】:

    要为所描述的值类型添加注释,应使用RecordFactory。可以从immutable导入。

    它的用法假设如下:

    const StoreRecord: RecordFactory<LoginTypeDef> = Record({
      userId: null,
      userName: null,
      userRole: null
    });
    

    如果需要将Record调用的结果分配给变量并为其提供注释,则应使用另一种类型RecordOf,如下所示:

    const StoreState: RecordOf<LoginTypeDef> = StoreRecord({userId: 'test});
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-28
      • 1970-01-01
      • 2021-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-17
      相关资源
      最近更新 更多