0
子コンポーネントとしてRoundedButton
コンポーネントを作成しました。私はTypeError:this.props.clickitemは関数ではありません
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;
は App.js
_handleButtonClick(item) {
this.props.clickitem(item.buttonText);
}
コンパイラはエラーをスロー
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;
を使用して親コンポーネントに誰をクリックボタンの値をすることができ、送信しています私を助けて私は間違っている?
Imが推測他の二つのRoundedButtonのコンポーネントにclickitem小道具を置くことを忘れているかもしれませんが、あなたがそれだと思うところから_handleButtonClick'が起動されていない '存在しないか、またはいくつかのコードがあります。 –
あなたは 'App.js'で' this.tap.bind(this) 'を試しましたか? –
'propTypes'を使って、間違った' clickitem'を渡すコンポーネントを調べます。 https://www.npmjs.com/package/prop-types –