Ошибка TypeScript 1.6: тип элемента JSX XXX не имеет конструкции или сигнатуры вызова

var CommentList = React.createClass({
          render: function () {
        return (
            <div className="commentList">
                Hello, world!I am a CommentList.
                </div>
        );
          }
});

var CommentBox = React.createClass({
          render: function () {
        return (
            <div className="commentBox">
                <h1>Comments</h1>
                <CommentList /> //ERROR
                </div>
        );
    }
});

React.render(
          React.createElement(CommentBox, null),
          document.getElementById('content')
);

С помощью этого кода я получаю следующее сообщение об ошибке: Тип элемента JSX 'CommentList' не имеет никаких конструкций или сигнатур вызовов.

Тот же код работает с обычным HTML / JS (следуя этому руководству: https://facebook.github.io/react/docs/tutorial.html)

Я понятия не имею, почему TypeScript это не нравится. Использование Visual Studio 2013 с TS 1.6 (http://blogs.msdn.com/b/typescript/archive/2015/09/16/announcing-typescript-1-6.aspx)


person DoubleVoid    schedule 21.09.2015    source источник
comment
Странный. У меня отлично работает при компиляции из командной строки с 1.6.2.   -  person David Sherret    schedule 21.09.2015
comment
Установка машинописного текста была очень плохой. У меня был Typescript / Typescript / 1.2 / Typescript / 1.3 / Typescript / 1.4 в моем пути к среде. Возможно, вы не ссылаетесь на 1.6, когда думаете, что это так.   -  person Joe    schedule 22.09.2015


Ответы (1)


Он отлично работает без ошибок (снимок экрана из atom-typescript):

введите описание изображения здесь

Предложения:

  • Убедитесь, что Visual Studio действительно использует typescript 1.6
  • Убедитесь, что у вас включен react.d.ts, и постарайтесь не использовать глобальную версию
  • Убедитесь, что у вас есть переменная React (например, import React = require('react');).
person basarat    schedule 21.09.2015
comment
Я понял это ... Я загрузил файл response.d.ts через NuGet React.TypeScript.DefinentyTyped (V 0.1.12) ... Я обновил его этой версией: github.com/borisyankov/DefinentyTyped/blob/master/react/ - person DoubleVoid; 22.09.2015