0
Ich habe RoundedButton
Komponente als eine untergeordnete Komponente erstellt. Ich sende Klick-Taste Wert in übergeordnete Komponente mitTypeError: this.props.clickitem ist keine Funktion
_handleButtonClick(item) {
this.props.clickitem(item.buttonText);
}
Compiler wirft einen Fehler
TypeError: this.props.clickitem is not a function
RoundedButton._handleButtonClick
D:\ReactJS\xxx\src\RoundedButton.js:8
5 | state = {};
6 |
7 | _handleButtonClick(item) {
> 8 | this.props.clickitem(item.buttonText);
9 | }
10 |
11 | render() {
View compiled
RoundedButton.js
import React, { Component } from "react";
import "./App.css";
class RoundedButton extends Component {
state = {};
_handleButtonClick(item) {
this.props.clickitem(item.buttonText);
}
render() {
let buttonText = this.props.text;
return (
<button
type="button"
className="Button"
onClick={this._handleButtonClick.bind(this, { buttonText })}
>
{buttonText}
</button>
);
}
}
export default RoundedButton;
App.js
class App extends Component {
constructor(props) {
super(props);
this.state = {};
this.clickitem = this.clickitem.bind(this);
}
clickitem(buttonText) {
console.log(buttonText);
}
render() {
return (
<div className="AppTitle">
<b>Score:</b>
<div>
<RoundedButton text="Rock" clickitem={this.clickitem} />
<RoundedButton text="Paper" />
<RoundedButton text="Scissors" />
</div>
</div>
);
}
}
export default App;
Kann jemand hilf mir was Ich mache falsch?
Im raten dort zu setzen ist ein Code fehlt oder '_handleButtonClick' nicht aus aufgerufen wird, wo Sie denken, es ist. –
hast du 'this.tap.bind (this)' in 'App.js' versucht? –
Verwenden Sie 'propTypes', um zu prüfen, welche Komponente falsches' Klick-Element 'liefert. https://www.npmjs.com/package/prop-types –