【发布时间】:2019-06-15 04:46:17
【问题描述】:
我正在尝试将我的参数 product 添加到我的按钮组件中
我的函数handleIncrement 有product 设置如下:
handleIncrement = product => {
console.log(product);
this.setState({ count: this.state.count + 1 });
};
我的点击事件:onClick={() => this.handleIncrement(product)}
据我了解,它应该可以在我的render() 中访问,但 Typescript 给了我“找不到名称'Product'”
我仍处于 React 和 Typescript 的学习阶段。 是我做错了什么还是我全都错了?
这是完整的代码:
class Counter extends Component {
state = {
count: 0,
tags: ["tag1", "tag2", "tag3"]
};
renderTags() {
if (this.state.tags.length === 0) return <p>No tags!</p>;
return (
<ul>
{this.state.tags.map(tag => (
<li key={tag}>{tag}</li>
))}
</ul>
);
}
handleIncrement = product => {
console.log(product);
this.setState({ count: this.state.count + 1 });
};
render() {
return (
<div>
<span className={this.getBadgeClasses()}>{this.formatCount()}</span>
<button
onClick={() => this.handleIncrement(product)}
className="btn btn-secondary btn-sm"
>
Increment
</button>
{(this.state.tags.length === 0 && "Please create new tag!") ||
"tags exists"}
{this.renderTags()}
</div>
);
}
private getBadgeClasses() {
let classes = "badge m-2 badge-";
classes += this.state.count === 0 ? "warning" : "primary";
return classes;
}
formatCount() {
const { count } = this.state;
return count === 0 ? "Zero" : count;
}
}
export default Counter;
【问题讨论】:
-
您希望
product在onClick中是什么?
标签: javascript reactjs typescript