2016-06-07 7 views
15

Ich verwende dieses einfache React-Element auf der linken Seite als mein Wurzelelement auf der rechten Seite.JSX-Elementtyp hat keine Konstrukt- oder Aufrufsignaturen

Wie behebe ich den angezeigten Fehler?

enter image description here

+0

Ihr Code sieht für mich korrekt aus; Welche Version von Typescript verwenden Sie? Es scheint, dass es [1.8] (https://github.com/Microsoft/TypeScript/wiki/What-new-in-TypeScript#stateless-function-components-in-react) gibt, die mehr Unterstützung mit zustandslosen Funktionskomponenten von React bot. –

+0

Yup, neueste Version von TS und Typings und Definitionen. – Richard

+0

Ich habe das gleiche Problem. Scheint nicht, zustandslose Komponenten zu unterstützen. 1.8.10. – ieugen

Antwort

1

Wie wäre:

class App extends React.Component<any, any> { 
    render() { 
     return <div>foo</div>; 
    } 
} 
+0

Danke, aber ich sehe nicht, wie das hilft. Die Datei app.ts gibt 'cssModules (App, css)' zurück, nicht die Funktion App in der Datei app.ts. – Richard

1

Das Hacky Typumwandlung macht den Fehler gehen weg, obwohl ich es nicht verstehen, überhaupt:

import App: any = require('./components/views/app/app');

+1

Hier wird "App" als "Any" Typ umgangen und das Typsystem umgangen. Die Typoskriptfehler sind weggefallen, weil Sie jetzt effektiv nur Javascript verwenden. –

0

Reaktion erwartet ein React.StatelessComponent aus der importierten App in mainScreenHelper.tsx Dies bedeutet, dass Sie das int angeben müssen erface in App

interface IProps {} 
const App : React.StatelessComponent<IProps> =() => (
    <div></div> 
); 
Verwandte Themen