Perché questi errori vengono visualizzati con flow
. Sto usando React con le classi ES6. Esempio di codice è qui sotto:Errori con le classi Flow, ReactJS ed ES6
UPDATE
ho quasi avuto questo funzionamento basata su questo esempio: https://flowtype.org/docs/react.html#defining-components-as-react-component-subclasses
mi sono liberato della maggior parte degli errori di flusso, ma ora applicazione fallisce quando eseguirlo. Penso che questo sia ReactJS che non elimina le cose di classe Flow o Babel. Se commento il tipo di flusso defs nel mio codice qui sotto non ho ricevuto questo errore.
Io corro la mia app con 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
Errori di flusso:
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
Da 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"
}
Reagire Componente
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.
}
Quando si crea un componente utilizzando il flusso, è necessario fornire i parametri del tipo nella dichiarazione della classe per descrivere i tipi di oggetti di scena, oggetti di scena e stato predefiniti. [Ecco un utile articolo] (http://sitr.us/2015/05/31/type-checking-react-with-flow.html) – nem035
Stavo seguendo l'esempio ufficiale Flow/React ES6 qui e non ho potuto ottenere questo funziona sia: http://flowtype.org/docs/react.html#defining-components-as-react-component-subclasses –
Anche quello che mi infastidisce è con il flusso in esecuzione non-React su un file JS non mostrerà eventuali errori fino DOPO aver aggiunto annotazioni di tipo. Ma con React ES6 mi costringe a aggiungere annotazioni di tipo. –