首页 > 解决方案 > 在 React 中用 typescript 替换 vanilla js

问题描述

目前,我正在使用带有反应的 vaniall js。对于类型检查,我在一个名为types的单独文件夹中定义类型。有了这个,我可以在 vs 代码中获得代码建议。但是,我仍然面临两个问题:

  1. 自动导入不适用于此。
  2. 如果我在 json 上使用不存在属性,它不会抛出错误。因此,有时我们最终可能会在没有意识到问题的情况下部署代码。如果 json 结构与定义的类型不匹配,有没有办法使构建失败?
/**
 * @typedef {Object} ListState
 * @property {Boolean} loading
 * @property {string} error
 * @property {FetchResponse} data
 */

/**
 * @typedef {Object} CreateFirmState
 * @property {Boolean} loading
 * @property {string} error
 * @property {*} data
 */

/**
 * @typedef {Object} UpdateFirmState
 * @property {Boolean} loading
 * @property {string} error
 * @property {*} data
 */

/*
* @type {UpdateFirmState}
*/
const myObject = 'hello'

// This above line should throw error because I'm defined myObject to be a string

  1. 我想用 typescript 替换现有的 vanilla js,但不是完全替换所有文件。有没有办法在我们前进时一个一个地替换文件,还是我们必须替换所有文件?

标签: reactjstypescript

解决方案


推荐阅读