2016-08-12 2 views
0

Я делаю простой React/курьерская приложение и у меня проблема с машинописи компилятором и мои компоненты container.jsxTypcript 2.1 Реакция не может найти модуль.

import * as React from "react"; 

export default class Container extends React.Component{ 
    getInitialState(){ 
    return { 
     state: "" 
    } 
    } 

    render(){ 
    return (
     <div>hello world</div> 
    ) 
    } 
} 

server.ts

import * as express from "express"; 
import Container from "../components/container"; 
import * as ReactDOM from "react-dom"; 
let app = express(); 
app.get("/",(req, res)=>{ 
    ReactDOM.render(<Container/>,document.getElementById("app")); 
}); 


app.listen(9999,()=>{ 

}); 

VS код мелирование обратный вызов внутри app.get и говорит Argument of type 'Container' is not assignable to parameter of type 'Component<any, any>'. Property 'setState' is missing in type 'Container'.

Когда я запускаю компилятор, я получаю ошибки относительно регулярных выражений. Я использую TypScript 2.1, сборку прошлой ночью.

ответ

1

В вашем server.ts, что ReactDOM.render(...) метод transpiles к этому:

ReactDOM.render(React.createElement(Container, null), document.getElementById("app")); 

Обратите внимание, как есть метод React.createElement(...) подставляется вместо <Container />. Из-за этого у вас должно быть import * as React from 'react' внутри вашего файла server.ts, чтобы удовлетворить переписанную переменную React, которая должна удовлетворять несоответствию типа.

Смежные вопросы