我想设置状态,但是this.state
无法正常工作,任何人都可以检查一下此代码,并帮助我解决其中的问题,这是我的代码
save_import_permit() {
//alert('sdsdsd');
var file_name = jQuery('input[type=file]').val().split('\\').pop(); //jQuery('#permit_csv_file').prop('files')[0];
let files = jQuery('input[type=file]')[0].files[0];
console.log(files);
let reader = new FileReader();
let data = [];
reader.readAsDataURL(files);
reader.onload = function(e) {
console.log(e.target.result);
data.result = e.target.result;
data.action = 'Permity::saveImportCsvFile';
const url = 'admin-ajax.php';
const formdata = "file="+data.result+"&action="+data.action;
this.state({loading:'loading_show'})
return post(url,formdata,function (r) {
this.state({loading:'loading_hide'});
alert(r.data.msg)
}.bind(this));
}.bind(this);
}
答案 0 :(得分:1)
您不应使用this.state
为状态赋值,而应始终使用this.setState()
,这是react框架的内置功能。选中此link可以了解更多信息。
所以您需要更改
this.state({loading:'loading_show'})
到
this.setState({loading:'loading_show'})