相关疑难解决方法(0)

ReactJS:放置在子组件上时onClick处理程序不会触发

我最近开始合作ReactJS.具体来说,我正在使用react-rails红宝石宝石和react-bootstrap组件.

我有一个关于将onClick事件监听器放在子组件中的问题.

从下面的代码示例中可以看出,我有一个父组件在其render函数中"调用"子组件.在该render函数中,我有React onClick侦听器,handleToggle在单击它时调用.

###* @jsx React.DOM ###

ToggleIconButton = React.createClass
  getInitialState: ->
    toggleOn: false
  handleToggle: (evt) ->
    this.setState(toggleOn: !this.state.toggleOn)
  render: ->
    `<IconButton onClick={this.handleToggle}>Toggle Button</IconButton>`

IconButton = React.createClass
  render: ->
    # BsButton and BsGlyphicon are React-Bootstrap components
    `<BsButton>
      <BsGlyphicon glyph={this.props.glyph} />
      {" " + this.props.text}
     </BsButton>`
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不符合我的想法.ToggleIconButton::handleToggle永远不会被召唤.而是将onClick侦听器放在IconButton并引用ToggleIconButton::handleToggle.

反应开发工具屏幕


我不想添加任何其他行为IconButton.我看待它的方式,不应该放置条件逻辑IconButton.它应该做的只是代表一个图标和按钮,而不必担心任何浏览器事件.这ToggleIconButton是为了什么.

虽然我知道我可以React Div …

reactjs react-jsx

55
推荐指数
2
解决办法
9万
查看次数

标签 统计

react-jsx ×1

reactjs ×1