gpt4 book ai didi

javascript - Flow、ReactJS 和 ES6 类的错误

转载 作者:搜寻专家 更新时间:2023-11-01 04:35:38 24 4
gpt4 key购买 nike

为什么这些错误显示在 flow 中。我正在使用带有 ES6 类的 React。代码示例如下:

更新

基于这个示例,我几乎可以正常工作: https://flowtype.org/docs/react.html#defining-components-as-react-component-subclasses

我摆脱了大部分 Flow 错误,但现在应用程序在运行时失败了。我认为这是 ReactJS 没有剥离 Flow 或 Babel 类的东西。如果我在下面的代码中注释掉 Flow 类型定义,我就不会收到此错误。

我正在使用 watchify -t [ babelify ] app.js -o ./build/app.js 运行我的应用程序

SyntaxError: /Users/carlf/Documents/dev/reactjs/FlyTweet/app/views/posts/MyNewPostForm.js: Missing class properties transform. while parsing file: /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; ^^^^ property Refs. Property not found in 15: export default class MyNewPostForm extends 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"
}

React 组件

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.
}

最佳答案

可能唯一的流程错误是 Refs 中的大写 R?它在您提供的代码中为小写,但在错误消息中为大写。

关于javascript - Flow、ReactJS 和 ES6 类的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37626145/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com