Gia*_*Elk 5 javascript reactjs flowtype
为什么会出现这些错误flow.我正在使用React和ES6类.代码示例如下:
UPDATE
基于这个例子我几乎得到了这个工作:https: //flowtype.org/docs/react.html#defining-components-as-react-component-subclasses
我摆脱了大部分Flow错误,但现在app运行时失败了.我认为这是ReactJS没有剥离Flow或Babel类的东西.如果我在下面的代码中注释掉Flow类型defs,我不会收到此错误.
我正在运行我的应用程序 watchify -t [ babelify ] app.js -o ./build/app.js
SyntaxError:/Users/carlf/Documents/dev/reactjs/FlyTweet/app/views/posts/MyNewPostForm.js:缺少类属性转换.解析文件时:/Users/carlf/Documents/dev/reactjs/FlyTweet/app/views/posts/MyNewPostForm.js
流量错误:
app/views/posts/MyNewPostForm.js:51 51:var myPostTxt = ReactDOM.findDOMNode(this.Refs.content).value; ^^^^属性
Refs.在15中找不到属性:导出默认类MyNewPostForm扩展React.Component {^^^^^^^^^^^^^ MyNewPostForm
来自package.json
"dependencies": {
"babel-preset-react": "6.5.0",
"babelify": "7.3.0",
"react": "15.1.0",
"react-dom": "15.1.0",
"react-router": "2.4.1"
}
Run Code Online (Sandbox Code Playgroud)
反应组件
export default class MyNewPostForm extends React.Component {
// START Flow type definitions.
MAX_POST_CHARS: number;
state: {
charsRemaining: number,
SendButtonDisabled: boolean
};
handleChange: () => void;
onSubmit: () => void;
// END Flow type definitions.
constructor() {
super();
this.MAX_POST_CHARS = 139;
this.state = {
charsRemaining: this.MAX_POST_CHARS,
SendButtonDisabled: true
};
this.handleChange = this.handleChange.bind(this);
this.onSubmit = this.onSubmit.bind(this);
}
handleChange() {
var myPostTxt = ReactDOM.findDOMNode(this.refs.content).value;
// Do something here.
}
Run Code Online (Sandbox Code Playgroud)