由於我是JavaScript和React的新手,我確實遇到了解決正確語法的問題。React TypeError this._test不是一個函數
這裏我的問題:
_handleDrop(files)
應該調用函數_validateXML(txt)
但沒有。我收到此錯誤Uncaught TypeError: this._validateXML is not a function
,並找不到原因。 callBack _handleDrop(files)
正常工作。
當我嘗試這種語法_validateXML:function(txt)
我立即在編譯時出錯。那是因爲ecmascript?
import React from 'react';
import './UploadXML.scss';
import Dropzone from 'react-dropzone';
import xml2js from 'xml2js';
export default class UploadXML extends React.Component {
constructor() {
super();
this._validateXML = this._validateXML.bind(this);
}
_validateXML(txt) {
console.log('Received files: ', txt);
}
_handleDrop(files) {
if (files.length !== 1) {
throw new Error("Please upload a single file");
}
var file = files[0];
console.log('Received files: ', file);
this._validateXML(file);
}
render() {
return (
<div>
<Dropzone onDrop={this._handleDrop} multiple={false}>
<div>Try dropping some files here, or click to select files to upload.</div>
</Dropzone>
</div>
);
}
}