首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ReactJS onClick未触发

问ReactJS onClick未触发
EN

Stack Overflow用户
提问于 2016-03-12 05:15:53
回答 3查看 576关注 0票数 0

在reactJS中让onClick工作时遇到了问题。我把this fiddle放在一起,肯定是些微不足道的东西。代码如下,请参见文件,了解(非)工作示例:

代码语言:javascript
复制
var Bar=React.createClass({
    render: function() {
    return (
    <div className="bar" style={{width: this.props.width+"px"}}>                {this.props.width}</div>)
  }
})

var ClickableBar=React.createClass({

    clickBar: function(e) {
        alert('clicked');
        this.setState({width:220});
    },
    render: function() {
      return (
      <Bar onClick={this.clickBar} width={this.state.width}/>
      )
  }
})

ReactDOM.render(
  <ClickableBar width="20"/>,
  document.getElementById('container')
);
EN

回答 3

Stack Overflow用户

发布于 2016-03-12 05:25:12

您只需要将处理程序作为一个道具传递:

代码语言:javascript
复制
var Bar = React.createClass({
    render: function() {
    return (
      <div onClick={this.props.onClick} className="bar" style={{width: this.props.width+"px"}}>{this.props.width}</div>
    );
  }
});

否则,您的div将在没有单击侦听器的情况下创建,因为"Bar“实际上并不存在于dom中(实际上只有div在那里)。

票数 1
EN

Stack Overflow用户

发布于 2016-03-12 05:32:49

而且你还错过了初始化你的state

代码语言:javascript
复制
getInitialState: function(){
  return {
    width: 30
  }
}

否则您将得到一个错误

未捕获宽度:无法读取null的属性‘TypeError’

我更喜欢这样使用风格。

代码语言:javascript
复制
render(){
  var myStyle = {width: 200, backgroundColor: green};
  return <div style={myStyle }> ... </div>
}

它还可以与React一起使用。Fiddle example

谢谢

票数 0
EN

Stack Overflow用户

发布于 2016-08-15 14:54:07

您只需要将函数与DOM元素绑定在一起。

代码语言:javascript
复制
<Bar onClick={this.clickBar.bind(this)} width={this.state.width}/>

或

代码语言:javascript
复制
<Bar onClick={() => {this.clickBar()}} width={this.state.width}/>

如果您想通过传递事件来调用函数:

代码语言:javascript
复制
<select onClick = {(event) => {self.funcName(event)}} >

如果你想通过传递参数来调用函数:

代码语言:javascript
复制
 <select onClick = {(event) => {self.funcName(event, arg1)}} >
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35950056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档