小编Joe*_*ina的帖子

是否可以要求两个不同的 TypeScript 接口具有相同的键但可以具有不同的值?

我希望能够强制 objValidator 与它验证的 obj 具有相同的键。这在 TypeScript 中可能吗?关于如何实现下面这样的东西的任何想法?主要是obj和objValidator必须有相同的key,但是key的值不同。

如果我的 objValidator 没有与 obj 完全相同的键,我希望能够收到警告。

interface obj {
  alpha: number
  beta: string
}

interface objValidator {
  alpha: {
    message: string
    valid(ALPHA'S TYPE): boolean
  }
  beta: {
    message: string
    valid(BETA'S TYPE): boolean
  }
}
Run Code Online (Sandbox Code Playgroud)

typescript typescript2.0

5
推荐指数
1
解决办法
1684
查看次数

有没有办法使用 TypeScript 泛型进行扩展操作?

我有一个函数,它接受一个对象并将其与另一个对象合并。我希望能够有一个通用的 T 来表示正在接受的对象,因为 Typescript 知道输出对象包含相同的键,但也有新的键。

export interface ObjFactory<T> {
  someNewProp: string
  otherNewProp: string
  ...T
}

export interface InputObject {
  inputProp: string
}
Run Code Online (Sandbox Code Playgroud)

那么输出对象将表示为

{
  someNewProp: string
  otherNewProp: string
  inputProp: string
}
Run Code Online (Sandbox Code Playgroud)

有没有办法实现类似的目标?

generics typescript

5
推荐指数
1
解决办法
900
查看次数

如何在使用 ActiveStorage 上传到云之前压缩图像

为了节省云中的空间,您将如何使用 activestorage 调整和压缩图像的大小?

ruby-on-rails rails-activestorage

5
推荐指数
1
解决办法
3020
查看次数

如何在扩展 React 组件的抽象类中使用泛型?

我正在创建一个扩展 React 组件的抽象类,我希望能够设置一些默认的道具,但也让扩展抽象类的组件提供自己的道具。

interface Props {                                                                       
  someProps: boolean                                                                    
}                                                                                       

abstract class AbstractPureForm<P, S> extends React.Component<Props & P, S> {
  ...
}
Run Code Online (Sandbox Code Playgroud)

如何使用:

class Other extends AbstractPureForm<{ newProps: string}, {}> { 
  ...
}
Run Code Online (Sandbox Code Playgroud)

现在这个设置给了我错误:

does not exist on type '(Props & P)["..."]'
Run Code Online (Sandbox Code Playgroud)

typescript reactjs

2
推荐指数
1
解决办法
2457
查看次数