ich die folgenden Funktionen auf die folgende Komponente vorbei ...Wie innen übergeordnete Funktion verwenden, reagieren die Map-Funktion
<Main css={this.props.css} select={this.selectedCSS.bind(this)} save={this.saveCSS.bind(this)} />
dann innerhalb der Main
Komponente ich diese Funktionen verwenden ...
<h1>Select the stylesheet you wish to clean</h1>
{
this.props.css.map(function(style){
if (style) {
return (<div className="inputWrap"><input type="radio" name="style_name" onClick={this.props.select(style)}/><span></span><a key={style}>{style}</a></div>)
}
})
}
</div>
<button className="cleanBtn" onClick={this.props.save}>Clean!</button>
Beachten Sie in meiner map
Funktion, ich passiere this.props.select(style)
. Dies ist eine Funktion des Elternteils, und ich versuche, ihm einen Parameter zu übergeben. Aber wenn ich das tue, erhalte ich einen Fehler ...
Error in event handler for runtime.onMessage: TypeError: Cannot read property 'props' of undefined
Jede andere Funktion, die ich passiere funktioniert. Ich habe sie bereits getestet. In der Tat funktioniert der Code, das einzige Problem ist, wenn ich versuche, eine Funktion innerhalb map
zu übergeben. Was ist der Grund dafür? Wie kann ich es reparieren?
Ich habe versucht, .bind(this)
hinzuzufügen, aber es läuft in einer Endlosschleife, wenn ich dies tun.
Haben Sie versucht, '.bind (this)' für 'function (style) {}' zu tun? –