2016-06-07 35 views
15

Sto usando questo semplice elemento React a sinistra come elemento principale nella pagina a destra.Il tipo di elemento JSX non ha costrutti o le firme di chiamata

Come si può correggere l'errore visualizzato?

enter image description here

+0

Il tuo codice mi sembra corretto; quale versione di Typescript stai usando? Sembra che sia [1.8] (https://github.com/Microsoft/TypeScript/wiki/What's-new-in-TypeScript#stateless-function-components-in-react) che ha fornito più supporto con i componenti della funzione stateless React. –

+0

Yup, ultima versione di TS e digitazioni e definizioni. – Richard

+0

Ho lo stesso problema. Non sembra supportare i componenti senza stato. ts 1.8.10. – ieugen

risposta

1

ne dite:

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

Grazie, ma non vedo come ciò possa essere d'aiuto. Il file app.ts sta restituendo 'cssModules (App, css)', non la funzione App nel file app.ts. – Richard

1

Questo typecast hacky fa l'errore di andare via, anche se non capisco affatto:

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

+1

Qui si lancia "App" come tipo "Any" e si ignora il sistema di tipi. Gli errori di dattiloscritto sono andati via perché ora stai usando in modo efficace Javascript. –

0

Reagire aspetta una React.StatelessComponent dall'app importata in mainScreenHelper.tsx Ciò significa che è necessario fornire tale int erface in App

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