javascript - React 组件上的句柄点击

标签 javascript reactjs

我是 React 的新手。我创建了一个按钮组件。该组件渲染出一个图像,我的目标是使用该图像作为最喜欢的按钮。现在我想做的就是当我单击图像时在控制台中记录一些内容。

我使用了handleClick 事件,但我认为这并不是那么简单,这是我的组件:

/**
 * Renders the Favorite button
 */
export default class FavoriteButton extends React.Component
{
    /**
     * Favorite button constructor
     *
     * @param props
     */
    constructor(props)
    {
        super(props);

        this.state = {
            header: "some header test data",
        }
    }

    /**
     * Handle a click event on a Favorite button
     */
    handleClick()
    {
        console.log("hello there");
    }

    /**
     * Renders the Favorite button
     */
    render()
    {
        return(
            <div className="favorite_button">
                <img src="url" className="" alt="" />
                <div>{this.state.header}</div>
            </div>
        );
    }
}

如果有人能帮助我,那就太棒了!

我的最终目标是触发数据库操作来存储您喜欢的元素,但现在我只想记录一些内容:)

非常感谢!

最佳答案

您已将方法 handleClick 添加到组件,但必须将其分配给 event handler ,在本例中为 onClick

render()
{
    return(
        <div className="favorite_button">
            <img onClick={this.handleClick} src="url" className="" alt="" />
            <div>{this.state.header}</div>
        </div>
    );
}

如果您要在 handleClick 中使用 this,则还必须将该方法绑定(bind)到实例。

constructor(props)
{
    super(props);
    this.state = {
        header: "some header test data",
    }
    this.handleClick = this.handleClick.bind(this);
}

关于javascript - React 组件上的句柄点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39406823/

相关文章:

javascript - Eslint:去除关键字功能

javascript - 如何在 React OpenSeadragon 中添加多个图 block 图像

reactjs - 在 SSR 期间获取主机名

javascript - 如何在 React 的嵌套组件场景中使页脚居中对齐

javascript - 如何在 .js 文件中正确添加 Javascript block

reactjs - Typescript - 从对象 Prop 值推断泛型类型

javascript - UI-Grid 3.0 如何在第一行的列单元格中显示/隐藏按钮

javascript - 使用 EaselJs 的倒计时动画

Javascript 正则表达式替换,多行

javascript - 获取没有类别/ID 的 OnClick 选项值