gpt4 book ai didi

javascript - React.js : How to use the same button while passing variables to a click function

转载 作者:行者123 更新时间:2023-12-03 08:28:11 25 4
gpt4 key购买 nike

我使用 Material-ui 作为 UI 框架,并尝试创建一个包含两个具有不同值的按钮的 View 。

  render: function() {

return
<Card>
<CardMedia overlay={<CardTitle title={this.props.title} />}>
<img src={this.props.image}/>
</CardMedia>
<CardActions>
<FlatButton onClick={this._handleClick} label="Good"/>
<FlatButton onClick={this._handleClick} label="Bad"/>
</CardActions>
</Card>

由于我是新手,我认为我错过了一些基本的东西。如何将值传递给 FlatButton,我可以使用“ref”属性吗?我的主要问题是我正在使用框架。如果我编写了这些组件,我将只使用 props(例如“label”)并处理组件本身的点击事件。

更新:找到了解决方案,但仍然感觉像是反模式......

      <FlatButton onClick={this._handleClick.bind(this, 1)} label="Good"/>
<FlatButton onClick={this._handleClick.bind(this, 0)} label="Bad"/>

感谢帮助...

最佳答案

您无法调用 <button /> 上的 onClick但您可以将一个函数传递给其 onClick ,该函数在其 Class 内定义。 。您需要传达您的handleClick通过 props 到其子组件

希望你能明白。

class CardActions extends React.Component {
...
}

class FlatButton extends React.Component {
constructor(props) {
super(props);
}

render() {
return (
<button onClick={() => this.props.whenClicked() } type="button">
{this.props.label}
</button>
);
}
}


class Cards extends React.Component {
constructor(props) {
super(props);
}

handleClick(event) {
alert('click');
}

render: function () {

return (
<CardActions>
<FlatButton whenClicked={(event) => this.handleClick(event)} title="Dropdown" />
</CardActions >
);
}
};

关于javascript - React.js : How to use the same button while passing variables to a click function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33462260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com