Javascript 你知道为什么这个按钮不会被触发吗
我有以下组成部分:Javascript 你知道为什么这个按钮不会被触发吗,javascript,reactjs,reactjs-flux,Javascript,Reactjs,Reactjs Flux,我有以下组成部分: var React = require("react"); var CollectionsButtonActions = require("../actions/CollectionsButtonActions"); var CollectionsApp = React.createClass({ getInitialState: function () { return {text: ''}; }, render: funct
var React = require("react");
var CollectionsButtonActions = require("../actions/CollectionsButtonActions");
var CollectionsApp = React.createClass({
getInitialState: function () {
return {text: ''};
},
render: function () {
var that = this;
var buttonItem = <button
onClick={this._handleButtonClick}
>Test</button>;
return (
<div className="view">
<div className="anchor">
{buttonItem}
</div>
<div className="main">
<p>You currently don't have any collections set up,
<a href="/admin/collections/new">create one</a>
.</p>
<ul>
</ul>
</div>
</div>
)
},
_handleButtonClick: function (event) {
console.log('test');
//CollectionsButtonActions.loadCollections();
}
});
module.exports = CollectionsApp;
var React=require(“React”);
var CollectionsButtonActions=需要(../actions/CollectionsButtonActions”);
var CollectionsApp=React.createClass({
getInitialState:函数(){
返回{文本:'};
},
渲染:函数(){
var=这个;
var buttonItem=测试;
返回(
{buttonItem}
您当前没有设置任何集合,
)
},
_把手按钮点击:功能(事件){
console.log('test');
//CollectionsButtonActions.loadCollections();
}
});
module.exports=CollectionsApp;
出于某种原因,“U handleButtonClick”事件根本没有触发,Iv'e尝试了各种方式包括按钮,但出于某种原因,该按钮只是不想触发它的事件。我可以在Flux-TodoMVC示例应用程序中看到一个类似的示例,它似乎可以工作,但由于上面代码的某些原因,单击事件没有附加到按钮上
有什么想法吗?这是一个问题,需要在整个应用程序中使用两个不同的参数来调用react 例如,在bundle.js(应用程序的入口点)中,它被这样调用:
var React = require('./node_modules/react/dist/react-with-addons');
但在实际的react组件文件中,它加载了它的短名称,如下所示:
var React = require("react");
我相信这里发生的事情是require将这两个负载视为完全独立的负载(正如它应该的那样),当require(“react”)调用发生在一个更底层的组件中时,它将删除原始的react事件,并在链的更上层设置,因为react库被加载两次。因为React使用它的合成事件,所以事件不在DOM中,所以当React对象在第二次加载时被覆盖时,这些事件将丢失
这是一个愚蠢的人为错误,但很容易犯,希望这能为以后的人省去一点痛苦。您的react类似乎可以正常工作。看看这把小提琴:是的,把它弄明白了,它很容易被忽视。实际上,我的bundle.js中有一个require call(),我会立即发布答案,因为这可能会给其他人带来一些痛苦。如果你确实需要使用插件进行响应,你可以
require('react/addons')
和require('react')
,而不会导致重复的代码。