如何根据 switch case 为 TypeScript 中的对象分配类型

J.赫斯特

我正在使用 TypeScript 构建一个 React Native 应用程序。

我正在编写一个带有开关盒的处理程序,如下所示:

export const handleMessageData = (dispatch: Dispatch, messageData: FCMMessage): void => {
  const { type, message_data } = messageData;
  const data = camelizeKeys(JSON.parse(message_data));
    switch (type) {
        case conditionOne:
          data.consumer = data.consumer.uuid;
          setHouses({ entities: { houses: { [data.uuid]: data } } });
        // ... more cases
        default:
          // ... do stuff
      }
    };

在每种情况下,我都知道是哪种类型data我怎么能告诉打字稿呢?

伪代码:

case conditionOne:
  data: MyType;
  data.consumer = data.consumer.uuid;
切尔尼

更多关于你的代码switch会很有帮助(例如typedata从哪里来,它们是什么样子?)。通常,您可以使用标记联合、对象类型、记录类型或许多其他方式来声明两种类型之间的关系。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 TypeScript 中的对象常量内为属性分配类型?

如何在scala中为like操作符添加switch case?

如何控制 switch-case 中组合框结果何时为空

如何在python中应用switch case以根据变量的值返回一些值

如何在swiftui中优化switch case

Swift 中 switch case 中的 switch case

如何在TypeScript中为对象动态分配属性?

在switch语句中分配Typescript类型

Ruby 中的 Switch Case

Typescript:如何在React中为历史对象添加类型检查?

如何在TypeScript中为具有动态属性的对象定义类型

如何在Typescript中为对象数组声明数据类型?

如何基于TypeScript中的其他类型使对象属性为可选?

Typescript 2.0.x与2.1.x,类型定义由switch / case语句过滤

对象的TypeScript类型为object?

如何在 Typescript 中为类成员分配属性

Swift:如何根据 switch 语句的结果确定对象类型

如何创建一个类型函数来检查TypeScript中的类型是否为空对象?

如何在vc 6.0中将对象转换或分配为Variant类型

如何在php中的switch case中匹配日期

如何显示文本取决于 SwiftUI 中的 switch case?

如何使用Python中的函数编写switch case语句?

如何避免Java中的switch-case语句

如何使用 Jest 在 React 中单元测试 switch case?

如何在使用 Hooks 的 React 函数中编写 switch case

如何在Kotlin中实现switch-case语句

如何比较 switch-case 中的枚举值?

如何简化MVC模型中的switch case语句?

如何在python中实现Switch-Case?