typescript - 利用接口或类型来描述对象的键
问题描述
考虑我已经定义了类型:
export type RegisterInput = {
email: Scalars['String'];
age: Scalars['Int'];
password: Scalars['String'];
};
它是由代码生成器自动生成的 graphql 输入类型。
我想用这种类型来描述前端表单的初始值。使用 Formik 是这样的:
<Formik
initialValues={
{ email: '', age: null, password: '' } as RegisterInput
}
>
{...}
</Formik>
这个想法是当graphql改变时,类型被重新生成并且打字稿会抱怨。问题是显然不可能将类型用于初始值,因为初始值可以为空,而类型RegisterInput
不允许为空值。
问题是:有没有办法根据打字稿中的给定类型仅描述对象的键?
解决方案
Partial<RegisterInput>
将使 type 选项的所有属性(可能undefined
)。
推荐阅读
- c# - Unity 放大和缩小 2D
- firebase - Flutter Web - Firebase:没有创建 Firebase App '[DEFAULT]' - 调用 Firebase App.initializeApp() (app/no-app)
- python - 无法通过 Coinbase Pro REST API 下订单
- spring - 无法使用 ManyToOne 发送邮递员数据
- pdf - 使用 ImageMagick 裁剪和重新排列带有扫描单色内容的 PDF(文件大小问题)
- swift - SwiftLint 警告:配置包含无效键:[“function_level”]
- python-3.x - Python中的线程等待直到函数执行完成而不使用join()方法
- reactjs - TypeError:firebase.auth.GoogleAuthProvider 不是构造函数
- android - Android CollapsingToolbarLayout折叠监听器不起作用
- sql-server - 将现有的标识列转换为序列