typescript - 将类型断言与解构赋值结合使用的最佳方式是什么?

标签 typescript formik destructuring type-assertion object-destructuring

我有一些代码使用 destructuring assignment如下:

const { values: project, setValues, submitForm } = useFormikContext();

根据 TypeScript type assertion documentation我想使用 as 关键字告诉 TS 编译器 project 将始终是 Project 类型。

正确的语法是什么?我试过:

const { values: (project as Project), setValues, submitForm } = useFormikContext();

但这是无效的。

最佳答案

您可以使用以下语法来解决此问题:

const { values: project, setValues, submitForm }: { values: Project; setValues: SomeType1, submitForm: SomeType2} = useFormikContext();

您也可以创建另一个变量:

const { values: project, setValues, submitForm } = useFormikContext();
const a: Project = project;

关于typescript - 将类型断言与解构赋值结合使用的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67602979/

相关文章:

javascript - For 循环覆盖 HTML 中的文本

typescript - 如果值未定义,则设置属性的语法简短明了?

reactjs - React useEffect(),使用React Hooks获取数据并设置formik表单

javascript - 如何使用无效变量名的键名解构对象属性?

javascript - 如何在没有一键的情况下解构对象

Javascript 嵌套解构语法

javascript - 从共享消息服务触发事件以更改组件的内容

Angular5 调试在 Chrome 中不起作用

reactjs - React Formik + 是的,onChange 触摸了字段

reactjs - Storybook + formik,控件不显示