So versuche ich den Zustand einer Komponente, die ein Canvas-Element enthält, zu ändern. Der Canvas selbst sollte nicht aktualisiert werden, da der betroffene Zustand das Rendering des Canvas nicht beeinflusst.Aktualisieren einer Komponente mit einem Canvas mit React
import React from 'react';
export default class App extends React.Component {
constructor(props) {
super(props);
this.state = {
isPlaying: false
}
}
handleClick() {
this.setState({isPlaying: true});
}
componentDidMount() {
this.ctx.fillRect(50,50, 100, 100);
}
render() {
return(
<div id='container'>
<canvas width={900} height={500}
ref={r => this.ctx = r.getContext('2d')}
onClick={() => this.handleClick()} />
</div>
);
}
}
Noch ein Fehler auftaucht, wenn ich das Ereignis onClick der Leinwand auslösen:
Uncaught TypeError: Cannot read property 'getContext' of null
at ref (App.js:52)
"Kann die Eigenschaft 'getContext' von null nicht lesen" hat nichts mit der onClick-Methode zu tun, und die Art, wie er handleClick verwendet, müssen Sie nicht binden, weil es eine Pfeil-basierte Funktion ist onClick –
Ich habe meine geschrieben Antwort @ArberSylejmani – arpl