2017-08-11 7 views
5

Ich habe Resharper Ultimate auf einer .Net-Core-Webanwendung aktiviert, die TypeScript zum Codieren von React Components verwendet.VS17 Resharper beschwert sich über React.Component

So habe ich eine einfache Komponente Klasse;

export class Index extends React.Component<{},{}>{

ReSharper mich warnt, dass

Generic type '_$_$RsRpExt"FromFile;....\node_modules\@types\react\index.d.ts, module=JavaScriptReferencedFilesModule:Referenced external files".React.Component' requires 1 type argument(s), but got 2

Meine npm Pakete für sind, reagieren;

Abhängigkeiten:

"react": "^15.6.1", 
"react-dom": "^15.6.1", 

Dev Abhängigkeiten

"@types/react": "^15.0.39", 
"@types/react-dom": "^15.5.1", 

an den typisierten Dateien sucht, kann ich sehen, dass die Komponenten in zwei Argumente nimmt reagieren, wie es sollte:

interface Component<P = {}, S = {}> extends ComponentLifecycle<P, S> { } 
    class Component<P, S> { 
     constructor(props?: P, context?: any); 

Ich benutze Webpack, um die TS/TSX-Dateien zu kompilieren und es funktioniert alles und das Projekt funktioniert, aber es geht weiter g nervt, wenn Resharper mit dem TypeScript-Code nicht gut spielt.

Wer weiß, wie man das löst?

Antwort

5

Die aktuelle Resharper-Version (2017.1) unterstützt nur TypeScript 2.2. Die React-Typdefinitionen verwenden generische Parameterstandards, die eine TypeScript 2.3-Funktion darstellen und von Resharper 2017.1 nicht richtig erkannt werden. Resharper 2017.2 (derzeit in EAP) unterstützt TypeScript 2.4.

In der Zwischenzeit habe ich einfach die JavaScript/TypeScript-Unterstützung von Resharper abgeschaltet (über Resharper => Optionen => Produkte und Funktionen) und verwende die VS TypeScript-Sprachunterstützung. Das funktioniert gut.

+1

Ahh danke für die Info. Ich werde mich festsetzen und auf R # v2017.2 warten. –

Verwandte Themen