简体   繁体   English

反应 - 按钮 onClick 未触发

[英]React - Button onClick not firing

My button onClick is not firing the alert message:我的按钮 onClick 没有触发警报消息:

import React, { Component } from 'react';
import { Collapse, Container, Navbar, NavbarBrand, NavbarToggler, NavItem, NavLink } from 
'reactstrap';
import { Link } from 'react-router-dom';
import './NavMenu.css';

export class Header extends Component {
static displayName = Header.name;
constructor(props) {
    super(props);
    this.sideMenuClick = this.sideMenuClick.bind(this);
}

sideMenuClick() {
    alert("hhhhhh");
    this.props.handleClick();
}

render() {
    return (
        <div className="headercon">
            <button onClick={this.sideMenuClick} className={"fas fa-sliders-h"} style={{ color: '#000000', fontSize: 16, width: 25, height: 25, float: 'right', marginRight: 20, }}></button>
        </div>
    );
}
}

I think this line can be overwritten something className={"fas fa-sliders-h"} just remove the {}.我认为这一行可以被覆盖 something className={"fas fa-sliders-h"}只需删除 {}。 works here.在这里工作。

Verify if you're receiving handleClick props correctly.验证您是否正确接收handleClick道具。

class Header extends React.Component {
static displayName = Header.name;
    
constructor(props) {
    super(props);
    this.sideMenuClick = this.sideMenuClick.bind(this);
}

sideMenuClick() {
    alert("hhhhhh");
    this.props.handleClick();
}

render() {
    return (
     <div className="headercon">
      <button 
          className="fas fa-sliders-h" 
          onClick={this.sideMenuClick} 
          style={{
          color: '#000000',
          fontSize: 16,
          width: 25,
          height: 25,
          float: 'right',
          marginRight: 20,
        }} /> 
      </div>
    );
}
}

I changed to this and now works also:我改成了这个,现在也可以工作了:

<button onClick={() => alert("cccc")} style={{ color: '#000000', fontSize: 16, width: 25, height: 25, float: 'right', marginRight: 20, }}><i className="fas fa-sliders-h"></i></button>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM