javascript - 部分类型的参数不能分配给类型的参数

标签 javascript reactjs typescript

我正在尝试更新 TypeScript 中接口(interface)之一的部分属性,如下所示

interface details{
  name: string,
  phonenumber: number,
  IsActive: boolean
}

let pDt: Partial<details> = {IsActive: false};
当我试图通过它时,其中一种方法具有 details作为参数,它给出了以下问题“ Partial 类型的参数不可分配给'detail' 类型的参数”。
这里有什么问题以及如何纠正?

最佳答案

Argument of type Partial is not assignable to parameter of type 'detail'


您不能将类型的 Partial 分配给您从中创建部分的原始类型。
interface Details{
  name: string,
  phonenumber: number,
  IsActive: boolean
}

let partialDetails: Partial<Details> = {IsActive: false};
let details: Details = partialDetails // error
Playground
这是有道理的,因为 Details期望所有属性的值,但 Partial<Details>可以省略任何这些属性。这使得部分与您制作部分的 while 类型不兼容。
没有简单的“解决”这个问题。这取决于您的应用程序的逻辑。如果你有一个函数需要一个完整的 Details那么你必须通过它一个完整的Details , 一个 Partial<Details>不行。

关于javascript - 部分类型的参数不能分配给类型的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63507831/

相关文章:

javascript - 如何在 React 中正确绑定(bind) MongoDB 数据?

SQLite 不适用于 Ionic 2

javascript - 将 Javascript 与 HTML 分开

javascript - 单击链接时从 Android WebView 中的 anchor 标记获取 href 值

javascript - 如何使用变量设置样式化 div 的背景颜色?

javascript - 嵌套渲染不影响 DOM

angular - 如何将多个对象合并为一个并处理 typescript 中的重复键

swift - 如何使用 typescript 将快照值转换为字典值?

javascript - 如何使用Hook API风格

javascript - 如何设置node.js cron 作业来制作一些东西?