Ich habe den folgenden Reactjs-Code. Es erzeugt ein Inline-Menü (Liste der Elemente). Wenn ich auf ein bestimmtes Element klicke, möchte ich es in der Konsole ausgeben, aber es funktioniert nicht.ReactJS - Fehler beim Übergeben eines Arguments an eine Funktion
import React from "react";
export default class GalleryHeader extends React.Component {
handleClick(cat) {
console.log(cat);
}
createItems(items) {
var output = [];
for(var i = 0; i < items.length; i++)
output.push(<li onClick={this.handleClick({items[i]})}>{items[i]}</li>);
return output;
}
render() {
return (
<ul class="list-inline">
{this.createItems(this.props.menuItems)}
</ul>
);
}
}
Es scheint in dem Aufruf der Funktion
{this.handleClick({items[i]})}
einen Fehler zu sein, wenn ich das Funktionsargument wie unten zu entfernen, es funktioniert gut:
handleClick() {
console.log("test");
}
createItems(items) {
var output = [];
for(var i = 0; i < items.length; i++)
output.push(<li onClick={this.handleClick}>{items[i]}</li>);
Bitte beraten.
Welchen Fehler bekommen Sie? – WitVault