onUpload() {
console.log(this.state.data);
}
4 Réponses :
Utiliser BIND IN CONSTRUCTOR:
onChange = (e) => {
...
}
Faire une fonction (sauf la fonction arrow) crée sa propre instance de à l'aide d'une fonction de flèche ne crée pas sa propre instance de Ceci code>.
Donc, il n'y a pas d'objet d'état dans votre fonction. Pour faire face à ce problème, vous avez deux manières - Ceci code > p> de votre fonction code> sur ceci code> fort> p> constructor (props) {
super(props)
this.onChange = this.onChange.bind(this);
this.onUpload = this.onUpload.bind(this);
}
la liaison fonctionne, conformément aux normes de code nécessaires
change vous fonctionner à ceci:
merci@babak pour les normes de codage droit d'écriture tandon.setstate ({Data: e.Target.Result}, fonction () {console.log (that.state.data) // ici il donne la valeur }); b> J'ai utilisé ces normes.
Lier votre méthode avec la classe, sinon ou utilisez la fonction de flèche dans les propriétés de la classe si vous en avez la prise en charge. p> Ceci code> sera non défini code>
1.
ol>
class Uploader extends React.Component {
constructor(props) {
super(props);
this.state = {
data: '',
name :'',
loading : false
}
}
onChange = () => {}
}
Merci à @imran pour votre réponse, mon code a travaillé avec la liaison et ' ondupload = () => { b>' '
Bien que ce soit aussi un format correct et que mon code avait besoin de ces changements aussi!