Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 反应事件而不是开火_Javascript_Reactjs - Fatal编程技术网

Javascript 反应事件而不是开火

Javascript 反应事件而不是开火,javascript,reactjs,Javascript,Reactjs,在使用标记并熟悉React时,我发现我的onLoad和onError事件没有触发。在将我的使用简化到最基本的React组件之后,我仍然发现事件没有触发 在下面的组件中,我希望单击呈现的登录到控制台。它渲染得很好,但单击它后,什么也没有发生。我错过什么了吗 我在OS X 10.10.2上的Chrome 40.0.2214.111下使用React 0.12.2,代码由webpack 1.5.3和jsx loader 0.12.2打包 /** @jsx React.DOM */ module.exp

在使用
标记并熟悉React时,我发现我的
onLoad
onError
事件没有触发。在将我的使用简化到最基本的React组件之后,我仍然发现事件没有触发

在下面的组件中,我希望单击呈现的
登录到控制台。它渲染得很好,但单击它后,什么也没有发生。我错过什么了吗

我在OS X 10.10.2上的Chrome 40.0.2214.111下使用React 0.12.2,代码由webpack 1.5.3和jsx loader 0.12.2打包

/** @jsx React.DOM */

module.exports = (function () {
  'use strict';
  var React = require('react');
  var SomeComponent = React.createClass({
    displayName: 'SomeComponent',
    doSomething: function (e) {
      console.log('did something');
    },
    render: function () {
      return (
        /* jshint ignore:start */
        <div onClick={this.doSomething}>Do Something</div>
        /* jshint ignore:end */
      );
    }
  });
  return SomeComponent;
})();
/**@jsx React.DOM*/
module.exports=(函数(){
"严格使用",;
var React=要求('React');
var SomeComponent=React.createClass({
displayName:'SomeComponent',
剂量测定:功能(e){
log('做了某事');
},
渲染:函数(){
返回(
/*jshint忽略:开始*/
做点什么
/*jshint忽略:结束*/
);
}
});
返回组件;
})();

我终于明白了

example.jsx
中,我意识到我没有
require()

var React = require('react');
var SomeComponent = require('./some-component.jsx');
React.render( ... );

事后看来,这似乎很明显。

你的代码运行得很好,-当你a)导入组件或b)渲染组件时,你可能遗漏了一些东西。哇,你说得对!如果我复制组件的内容并替换我的
var SomeComponent=require('./some component.jsx')调用,按预期记录。我还没有弄明白为什么当使用CommonJS时,它会呈现OK,但不会触发事件。试试这个
module.exports=SomeComponent
,它会帮你修复它。嗯,我切换到这个样式:
var SomeComponent=React.createClass({…});module.exports=SomeComponent并进行渲染,但仍然没有触发事件。将我的设置发布到此处以供检查:对不起,我的意思是,在使用该组件的JSX文件中,我缺少React
require()
。当时,我认为问题在于我的组件,而不是设置,但事实并非如此。这里可以看到应用的修复:不过,我感谢您的帮助!