Ich habe ein ähnliches Problem. Weiß jemand wie man eine komponentenspezifische Requisite innerhalb der übergebenen Klick-Funktion aufruft?
z.
function ElementRow({onClick, element, key}) {
return (
<tr key={key}>
<td><a href="#" onClick={onClick}>Delete</a></td>
<td>
...
<td>{ element.first } { element.last }</td>
</tr>
);
}
Innerhalb der onClick
Funktion brauche ich die element.id
. Ich bin auf der Suche nach einer Lösung ohne bind()
Ich weiß, wie man es mit oder extend React.Component
arbeiten, aber nicht als reine Funktion geschrieben.
Bearbeiten: Eine Lösung gefunden, aber ich bin mir nicht sicher, ob es ein Code-Geruch ist. :)
function ElementRow({ onClick, element, key }) {
const _onClick = (e) => {
onClick(e, element.id);
};
return (
<tr key={key}>
<td><a href="#" onClick={_onClick}>Delete</a></td>
<td>
...
</td>
<td>{ element.first } { element.last }</td>
</tr>
);
}
Es gibt jedoch einen Unterschied darin, dass der Click-Handler Teil der Komponente in der Frage ist. – flq
In den meisten Fällen ist es besser, den Click-Handler auf einer höheren Ebene zu definieren. Alternativ können Sie eine separate Funktion in derselben Datei erstellen. –