web-dev-qa-db-ja.com

すべてのTypeScriptタイプチェックを無効にするにはどうすればよいですか?

TypeScriptを使用したい将来的にですが、現時点では、TypeScriptをCreate React Appにインストールすることを選択しました。後で、タイプを追加)

したがって、すべての型チェックを無効にしたいと思います。

今、私がこのようなことをすると:

<PlaceSearchBar
    placeSearchChanged={this.placeSearchChanged}
/>


class PlaceSearchBar extends React.Component {
...
}

エラーが発生します:

Type error: Type '{ placeSearchChanged: (place: any) => void; }' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes<PlaceSearchBar> & Readonly<{ children?: ReactNode; }> & Readonly<{}>'.
  Property 'placeSearchChanged' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes<PlaceSearchBar> & Readonly<{ children?: ReactNode; }> & Readonly<{}>'.  TS2322

どうやらReact.Component<placeSearchChanged:function>またはそのようなもので型を宣言する必要があります。

煩わしいので、tsconfig.jsonのすべてのチェックを無効にしたいと思います。

すべてのチェックを無効にするにはどうすればよいですか(ただし、TypeScriptをインストールしたままにしておきます)

これは私の現在のtsconfig.jsonです:

{
  "compilerOptions": {
    "target": "es6",
    "lib": [
      "dom",
      "dom.iterable",
      "esnext",
    ],
    "allowJs": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": false,
    "forceConsistentCasingInFileNames": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "preserve",
    "noImplicitAny": false,
  },
  "include": [
    "src"
  ]
}
14
TIMEX

これをtsconfig.jsonに追加してください:

{
  "compilerOptions": {
    ...
    "checkJs": false
    ...
  }
}

とりあえず.js/.jsxファイルに固執してください。タイプを使用する準備ができている場合にのみ、.ts/.tsx拡張機能を使用します。

行単位でエラーを抑制したい場合は、// @ts-ignoreコメントを使用できます。

20
Karol Majewski

タイプのないTypeScriptはJavaScriptです。 TypeScriptなしでプロジェクトを開始し、準備ができたら変換します。ではじまる <any>は良い習慣ではなく、私の意見では意味がありません。

19
nologin

TypeScriptのUSPは、コンパイル時の型チェックです。最終的にjavascriptにコンパイルされます。 TypeScriptなしで開始します。何らかのリファクタリングをしたい場合は、いつでもプロジェクトに含めることができます。

https://www.typescriptlang.org/docs/handbook/migrating-from-javascript.html

1
Harshit Juneja

typeScriptエラーがある場合でもビルドを実行させることができます https://create-react-app.dev/docs/advanced-configuration/# ! ctr + f TSC_COMPILE_ON_ERROR

0
user1191175

私はnologinに同意します、それをする意味はありませんが、あなたが本当に望んでいるなら、私が考えることができるいくつかの方法があります、ここにカップルがあります:

ファイルで無効にする

このコメントをファイルの先頭に追加します/* tslint:disable */

Srcフォルダーを除外する

Tslint.jsonからコードフォルダーを除外します(tsconfig.jsonでも実行する必要がある場合があります)

{
 // some linting options
  linterOptions: {
    exclude: ['src/**','components/**'],
  }
}

空のtslint.jsonとtsconfig

tslint.jsonファイルとtsconfig.jsonファイルを空のオブジェクトで置き換えるだけです

0
Dave