最新的 preact 和 typescript 模块传递了错误的类型

Posted

技术标签:

【中文标题】最新的 preact 和 typescript 模块传递了错误的类型【英文标题】:Latest preact and typescript modules passing incorrect type 【发布时间】:2019-10-17 14:06:17 【问题描述】:

当尝试同时响应 preact + typescript 时,我能够传递不正确的类型而不会引发错误。

我正在尝试将我们的代码库从纯 JS 转换为 preact 并添加类型脚本。一切都可以通过 NPM 安装,我可以让网站本身实际运行,但是在运行基本的健全性测试时,我注意到仅为数字主条目保留的输入接受字符串。

我用 preact + typescript 的“工作”示例克隆了一个 git,即使在基本的“Hello World”示例中,我也能够将字符串作为属性传递,尽管只需要字符串。

我可能误解了一些基本的东西,但这花了大约 3 个小时,而且我有点走投无路。

我有最新的 preact、typescript 和 babel。我可以一次关闭其中一个,看看故障发生在哪里,但希望其他人也有类似的问题?

【问题讨论】:

一个代码示例将有助于回答这个问题。 由于浏览器不能运行 typesript,它被转译成普通的 javascript,它很少关心类型。您仍然需要为您的输入添加验证。 【参考方案1】:

相信你对TypeScript的目的有误解。

TypeScript 将 JavaScript 的开发体验转变为更接近于 C# 等静态类型语言的东西。

TypeScript 不会清理用户输入。

如果您的问题是“如何防止输入类型错误?”,那么我相信您实际搜索的是form validation。

【讨论】:

以上是关于最新的 preact 和 typescript 模块传递了错误的类型的主要内容,如果未能解决你的问题,请参考以下文章

官方模考?!ACT宣布启动PreACT考试

在 Preact 和 typescript 中使用 web 组件

preact-cli/babel/typescript - 让 Symbol.iterator 和 [...spread] 正常工作

使用 Preact + Typescript 的类型安全事件处理程序

如何使用 preact-router 以编程方式导航?

从 React 到 Preact 迁移指南