Tengo un elemento que tiene un accesorio onClick, y luego otro elemento que llama a este accesorio y realiza otras operaciones.
Aquí está el código:
Barra lateral del tablero:
class DashboardSidebar extends Component{ constructor(props){ super(props); this.expandOption = this.expandOption.bind(this); } expandOption(id){ ... } render(){ return( <div className="DashboardSidebar"> ... <DSidebarOption onClick={this.expandOption("dashboard")} id="dashboard" text="Dashboard" /> ... </div> ); } }Opción de barra lateral:
class DSidebarOption extends Component{ constructor(props){ super(props); this.handleClick = this.handleClick.bind(this); } handleClick(){ ... this.props.onClick(); ... } render(){ return( <div className="DSidebarOptionContainer"> ... <div onClick={this.handleClick} className="DSidebarOption"> {this.props.text} </div> ... </div> ) } }Estoy teniendo el siguiente error:
Uncaught TypeError: this.props.onClick is not a function
Alguna idea de por qué esto esta pasando?
Deberías pasar tu onclick así
onClick={() => {this.expandOption("dashboard")}}de lo contrario, se llama cuando se monta la página