Je voudrais utiliser TypeScript à l'avenir, mais pour l'instant, j'ai choisi d'installer TypeScript dans Create React App. (Plus tard, je reviendrai et ajouter des types)
Par conséquent, je voudrais désactiver toutes les vérifications de type.
En ce moment, quand je fais quelque chose comme ça:
<PlaceSearchBar
placeSearchChanged={this.placeSearchChanged}
/>
class PlaceSearchBar extends React.Component {
...
}
Je reçois une erreur:
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
Apparemment, je dois déclarer des types dans React.Component<placeSearchChanged:function>
ou quelque chose de ce genre.
Je pense que c'est ennuyeux et je voudrais désactiver toutes les vérifications dans mon tsconfig.json
.
Comment puis-je désactiver toutes les vérifications (tout en conservant TypeScript installé, juste pour une utilisation future)?
Voici mon tsconfig.json actuel:
{
"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"
]
}
Ajoutez ceci à votre tsconfig.json
:
{
"compilerOptions": {
...
"checkJs": false
...
}
}
et respectez .js
/.jsx
fichiers pour l'instant. Utilisez le .ts
/.tsx
extension uniquement lorsque vous êtes prêt à utiliser des types.
Si vous préférez supprimer les erreurs ligne par ligne, vous pouvez utiliser un // @ts-ignore
commentaire.
TypeScript sans types est Javascript. Démarrez votre projet sans TypeScript et convertissez-le lorsque vous êtes prêt à le faire. Commençant par <any>
n'est pas une bonne pratique et n'a aucun sens à mon avis.
L'USP de TypeScript vérifie le type lors de la compilation. Il compile finalement en javascript. Commencez sans TypeScript. Vous pouvez toujours l'inclure dans votre projet lorsque vous le souhaitez avec une refactorisation.
https://www.typescriptlang.org/docs/handbook/migrating-from-javascript.html
vous pouvez laisser la construction se produire même en présence d'erreurs TypeScript https://create-react-app.dev/docs/advanced-configuration/# ! ctr + f TSC_COMPILE_ON_ERROR
Je suis d'accord avec Nologin, cela ne sert à rien, mais si vous le voulez vraiment, il y a quelques façons dont je peux penser, en voici quelques-unes:
ajouter ce commentaire en haut du fichier /* tslint:disable */
Excluez vos dossiers de code de tslint.json (vous devrez peut-être le faire également sur tsconfig.json
{
// some linting options
linterOptions: {
exclude: ['src/**','components/**'],
}
}
remplacez simplement vos fichiers tslint.json et tsconfig.json par un objet vide