DefinitelyTyped -> React package -> tsc 2.2.2 Fehler TS1005, TS1128, TS1109 und TS1136


Eulenglas

Ich habe dieses Paket für React gefunden, das eine Komponente enthält, die genau der entspricht, die ich brauche. Leider waren keine Typisierungen verfügbar, also habe ich mich entschieden, sie selbst zu erstellen.

Paket:

https://www.npmjs.com/package/react-tag-input

https://github.com/prakhar1989/react-tags

Dies sind die Definitionen, die ich mir ausgedacht habe und sie funktionieren mit dem Verwendungsbeispiel, das auf GitHub https://github.com/prakhar1989/react-tags#usage angegeben ist .

import * as React from "react";

export interface ReactTagsProps {
    tags?: TagItem[];
    suggestions?: string[];
    handleDelete: ((i: number) => void);
    handleAddition: ((tag: string) => void);
    handleDrag?: ((tag: TagItem, currPos: number, newPos: number) => void);
    placeholder?: string;
}

export interface TagItem {
    id: number;
    text: string;
}

export class WithContext extends React.Component<ReactTagsProps, {}> { }

export default WithContext;

Ich möchte dann zu https://github.com/DefinitelyTyped/DefinitelyTyped beitragen, also habe ich deren Anleitung zum Erstellen eines neuen Pakets befolgt.

Ich begann mit Laufen npm install -g dts-genund dts-gen --dt --name react-tag-input --template module.

Danach habe ich nur index.d.tsmeinen Code bearbeitet und hinzugefügt, von dem ich weiß, dass er funktioniert. Wenn ich jedoch starte, tscerhalte ich die folgende Fehlermeldung. Warum ist das so und warum funktioniert der Code, wenn ich ihn in meinem Projekt ausführe? Ich verstehe, dass es wahrscheinlich daran liegt, import * as React from "react";aber meine Typdefinitionen, die ich in meinem Projekt verwende, werden in erster Linie von DefinitelyTyped heruntergeladen.

C:\Users\oscar\Documents\DefinitelyTyped\types\react-tag-input>tsc
../react/index.d.ts(195,27): error TS1005: ',' expected.
../react/index.d.ts(195,29): error TS1005: '>' expected.
../react/index.d.ts(195,31): error TS1128: Declaration or statement expected.
../react/index.d.ts(195,41): error TS1109: Expression expected.
../react/index.d.ts(216,27): error TS1005: ',' expected.
../react/index.d.ts(216,29): error TS1005: '>' expected.
../react/index.d.ts(216,31): error TS1128: Declaration or statement expected.
../react/index.d.ts(216,41): error TS1109: Expression expected.
../react/index.d.ts(218,34): error TS1005: ',' expected.
../react/index.d.ts(218,36): error TS1005: '>' expected.
../react/index.d.ts(218,38): error TS1128: Declaration or statement expected.
../react/index.d.ts(218,48): error TS1109: Expression expected.
../react/index.d.ts(220,9): error TS1005: ',' expected.
../react/index.d.ts(221,9): error TS1005: ',' expected.
../react/index.d.ts(232,16): error TS1005: ',' expected.
../react/index.d.ts(232,18): error TS1005: '>' expected.
../react/index.d.ts(232,20): error TS1005: ';' expected.
../react/index.d.ts(232,22): error TS1109: Expression expected.
../react/index.d.ts(232,45): error TS1005: '(' expected.
../react/index.d.ts(233,36): error TS1005: ',' expected.
../react/index.d.ts(233,38): error TS1005: '>' expected.
../react/index.d.ts(233,40): error TS1109: Expression expected.
../react/index.d.ts(234,9): error TS1136: Property assignment expected.
../react/index.d.ts(234,15): error TS1005: ',' expected.
../react/index.d.ts(234,55): error TS1109: Expression expected.
../react/index.d.ts(234,61): error TS1005: ';' expected.
../react/index.d.ts(234,81): error TS1005: '(' expected.
../react/index.d.ts(234,87): error TS1005: ')' expected.
../react/index.d.ts(235,19): error TS1109: Expression expected.
../react/index.d.ts(235,37): error TS1005: '(' expected.
../react/index.d.ts(236,22): error TS1109: Expression expected.
../react/index.d.ts(236,42): error TS1005: '(' expected.
../react/index.d.ts(237,22): error TS1109: Expression expected.
../react/index.d.ts(237,34): error TS1005: '(' expected.
../react/index.d.ts(238,21): error TS1109: Expression expected.
../react/index.d.ts(241,32): error TS1005: ',' expected.
../react/index.d.ts(241,34): error TS1005: '>' expected.
../react/index.d.ts(241,36): error TS1109: Expression expected.
../react/index.d.ts(243,9): error TS1005: ',' expected.
../react/index.d.ts(243,37): error TS1005: '(' expected.
../react/index.d.ts(244,42): error TS1005: '(' expected.
../react/index.d.ts(245,47): error TS1005: '(' expected.
../react/index.d.ts(246,34): error TS1005: '(' expected.
../react/index.d.ts(247,29): error TS1005: ',' expected.
../react/index.d.ts(250,39): error TS1005: ',' expected.
../react/index.d.ts(250,41): error TS1005: '>' expected.
../react/index.d.ts(250,43): error TS1109: Expression expected.
../react/index.d.ts(250,45): error TS1109: Expression expected.
../react/index.d.ts(252,9): error TS1005: ',' expected.
../react/index.d.ts(2746,1): error TS1128: Declaration or statement expected.

tsconfig.json, die automatisch mit dem dts-genBefehl erstellt wird.

{
    "compilerOptions": {
        "module": "commonjs",
        "lib": [
            "es6"
        ],
        "noImplicitAny": true,
        "noImplicitThis": true,
        "strictNullChecks": true,
        "baseUrl": "../",
        "typeRoots": [
            "../"
        ],
        "types": [],
        "noEmit": true,
        "forceConsistentCasingInFileNames": true
    },
    "files": [
        "index.d.ts",
        "react-tag-input-tests.ts"
    ]
}
Eulenglas

Der Fehler war drin tsconfig.json.

Hinzugefügt:

"lib": [
    "dom"
],
"jsx": "react",

Vollständige Dateien:

tsconfig.json:

{
    "compilerOptions": {
        "module": "commonjs",
        "lib": [
            "es6",
            "dom"
        ],
        "noImplicitAny": true,
        "noImplicitThis": true,
        "strictNullChecks": false,
        "baseUrl": "../",
        "jsx": "react",
        "typeRoots": [
            "../"
        ],
        "types": [],
        "noEmit": true,
        "forceConsistentCasingInFileNames": true
    },
    "files": [
        "index.d.ts",
        "react-tag-input-tests.tsx"
    ]
}

index.d.ts:

// Type definitions for React-Tags (react-tag-input) 4.7
// Project: https://github.com/prakhar1989/react-tags
// Definitions by: Ogglas <https://stackoverflow.com/users/3850405/ogglas>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.3

import * as React from "react";

export interface ReactTagsProps {
    tags?: Array<{id: number, text: string }>;
    suggestions?: string[];
    handleDelete: ((i: number) => void);
    handleAddition: ((tag: string) => void);
    handleDrag?: ((tag: { id: number; text: string; }, currPos: number, newPos: number) => void);
    placeholder?: string;
}

export class WithContext extends React.Component<ReactTagsProps, {}> { }

export default WithContext;

React-Tag-Input-Tests.tsx:

import * as React from "react";
import * as ReactDOM from "react-dom";
import { WithContext as ReactTags } from "react-tag-input";

let tags = Array({ id: 0, text: "test" }, { id: 1, text: "testing" });

let suggestions = Array("test1", "test2");

ReactDOM.render(
    <ReactTags tags={tags}
        suggestions={suggestions}
        handleDelete={(i: number) => console.log("Delete: " + i)}
        handleAddition={(tag: string) => console.log("Add: " + tag)}
        handleDrag={(tag: { id: number; text: string; }, currPos: number, newPos: number) => console.log("Drag: " + tag.text)} />,
    document.getElementById("app")
);

Verwandte Artikel


Winkel-2-Fehler TS1005: ',' erwartet

Benutzer3568611 Ich bekomme diesen Fehler beim Kompilieren Ich finde nicht, wo ich ein Komma hinzufügen sollte. src/app/navbar.component.ts(29,39): error TS1005: ',' expected. src/app/tache.service.ts(53,53): error TS1005: ',' expected. navbar.component.ts

Winkel-TS-Fehler TS1109

Sven Ich erhalte folgenden Fehler in der Konsole: Webpack: Kompilieren ... 10% Gebäudemodule 0/1 Module 1 aktiv ... p / Einkaufsliste2 / src / app / app.module.tsERROR in src / app / Mahlzeit.service.ts (46,56): Fehler TS1109 : Ausdruck erwartet. Datum: 2017-1

ts1109: Winkelausdruck erwarteter Fehler

Richard Ich erstelle ein einfaches Formular mit Winkel mit einem reaktiven Formular, aber ich habe einen Fehler. Ich verstehe nicht, warum es mir sagt, dass es fehlt: Ich habe schon viele Male Formulare erstellen lassen, aber es ist das erste Mal, dass ich die

Fehler TS1005: ';' erwartet

Paul class Car { engineName: string; gears: number; private speed: number; constructor(speed: number) { this.speed = speed || 0; } accelerate(): void { this.speed++; } throttle():void { this.speed--;

Schluck Typoskript: Fehler TS1005

Eduard Ich erstelle eine Angular2-Typoskript-Anwendung. Ich benutze Angular / Material2, um ein besseres Design zu präsentieren. Was den Aufbau des Projekts angeht - ich benutze Schluck. Problemstellung: Ich wechselte @angular/router-deprecatedzu @angular/rout

Typescript-Kompilierungsfehler: Fehler TS1109: Ausdruck erwartet

Dongsheng Cai Ich habe diese sehr einfache Typoskriptdatei: export default const VERSION: number = 2016030600; Dann renne ich: tsc version.ts Typoskript-Compiler (Version 1.8.7, OS X) beschwert sich: version.ts(1,16): error TS1109: Expression expected. Wie

ts1109: Ausdruck erwarteter Winkelfehler

Bala Sivagnanam Ich habe dieses Beispiel von https://angular.io/docs/ts/latest/guide/router.html verfolgt und ich versuche, eine ähnliche Liste auch mit einem Dienst zu erstellen, aber aus irgendeinem Grund, wenn ich diese Zeile schreibe servingpatients = Pati