onClick事件未在ReactJS中触发

时间:2017-03-09 18:37:37

标签: javascript reactjs onclick

我需要在 Click 上发起一个事件,即 handleClick 。它在图像或任何按钮上都不起作用。

我也尝试过箭头功能,但这也没用。它都没有抛出任何错误。有谁能提出建议?

let Blips = React.createClass({

handleClick(){
    if (this.props.user_name != null) {
        sessionStorage.setItem('user_name', JSON.stringify(this.props.user_name))
        sessionStorage.setItem('port_id', JSON.stringify(this.props.port_id))
        sessionStorage.setItem('ship_image', JSON.stringify(this.props.ship_image))
        sessionStorage.setItem('port_type', JSON.stringify(this.props.port_type))
        browserHistory.push('/dockedship/')
    }
},
render(){

    if (this.props.user_name) {
        return (
            <li className="layer" data-depth={this.props.data_depth}>
                <div className={this.props.css_location}>
                    <img className="glyphport" onClick={this.handleClick} src={this.props.port_type_image}/>
                    <img className="shipport" src={this.props.ship_image}/>
                </div>
            </li>
        )
    }

}

})

1 个答案:

答案 0 :(得分:0)

看起来这是“旧的这个背景”的问题:)

如果您正在使用可以转换ES2015类属性的babel,您可以这样做:

handleClick = () => {
  // ...
}

在其他情况下只是构造函数中的bind方法:

this.handleClick = this.handleClick.bind(this);

可在此处找到更多信息:http://egorsmirnov.me/2015/08/16/react-and-es6-part3.html