Как объявить тип модуля реагирующего компонента для типа потока, не нарушая форматирования?

Я определил компонент реакции и использую поток для его проверки:

/** @flow */
/** @jsx React.DOM */
var React = require('react');

var Hello = React.createClass({
    propTypes: {
        content: React.PropTypes.string.isRequired
    },
    render: function() {
        return (
            <section>hello</section>
        );
    }
});

module.exports = Hello;

Но поток сообщает об ошибке:

/Users/twer/workspace/yyy/a.js:16:16,20: ReactElement
Missing annotation

Поскольку поток требует, чтобы модуль имел тип явно: http://flowtype.org/docs/type-annotations.html#module-boundaries

А для компонента реакции мне нужно объявить тип в методе render, поэтому я должен исправить это следующим образом:

render: function(): ?ReactElement {
    return (
        <section>hello</section>
    );
}

Проблема в том, что это сломает средство форматирования моей IDEA (из-за ? из ?ReactElement)

Есть ли другое место, куда можно поставить ?ReactElement?


person Freewind    schedule 11.02.2015    source источник


Ответы (1)


Я уверен, что вы уже что-то поняли, но обратите внимание, что ? не является обязательным.

render: function(): React.Element {
   // ...
}
person Sean Clark Hess    schedule 18.05.2015