Ich habe derzeit diese Komponente in React.JS, die alle Bilder zeigt, die an sie in einem Array übergeben werden und onMouseOver es zeigt eine Schaltfläche unten. Ich gehobelt setState über die Verwendung der Variable schweben zu überprüfen, ob wahr oder falsch ist und drücken Sie die Taste des Bildes entsprechend aber ich folgende Fehlermeldung erhalte:React.JS this.state ist undefined
Uncaught TypeError: Cannot read property 'state' of undefined
var ImageList = React.createClass({
getInitialState: function() {
return this.state = { hover: false };
},
getComponent: function(index){
console.log(index);
if (confirm('Are you sure you want to delete this image?')) {
// Save it!
} else {
// Do nothing!
}
},
mouseOver: function() {
this.setState({hover: true});
console.log(1);
},
mouseOut: function() {
this.setState({hover: false});
console.log(2);
},
render: function() {
var results = this.props.data,
that = this;
return (
<ul className="small-block-grid-2 large-block-grid-4">
{results.map(function(result) {
return(
<li key={result.id} onMouseOver={that.mouseOver} onMouseOut={that.mouseOut} ><img className="th" alt="Embedded Image" src={"data:" + result.type + ";" + "base64," + result.image} /> <button onClick={that.getComponent.bind(that, result.patientproblemimageid)} className={(this.state.hover) ? 'button round button-center btshow' : 'button round button-center bthide'}>Delete Image</button></li>
)
})}
</ul>
);
}
});
die wesentliche Teile des Codes setzen Bitte in der Körper der Frage. –
Ich habe nur den wesentlichen Code in der Pastebin gegeben, der den vollständigen Code nicht gegeben hat. –
Du hast mich nicht verstanden. Es ist eine schlechte Übung, einen Link zum Code bereitzustellen. Einfach in die Frage einbetten. –