Triggers React onClick持续触发

Triggers React onClick持续触发,triggers,onclick,reactjs,Triggers,Onclick,Reactjs,当我触发onClick时,即使事件也会持续触发1000多次。我似乎不知道这是从哪里来的。我已将onClick更改为onMouseover,以查看它是否继续触发,但事件仅触发一次 我正在使用:react 0.13.3 有什么想法吗 var React=require('React'); var AppActions=require('../../actions/app actions.js'); var FileAmount=React.createClass({ getInitialState

当我触发
onClick
时,即使事件也会持续触发1000多次。我似乎不知道这是从哪里来的。我已将
onClick
更改为
onMouseover
,以查看它是否继续触发,但事件仅触发一次

我正在使用:
react 0.13.3

有什么想法吗

var React=require('React');
var AppActions=require('../../actions/app actions.js');
var FileAmount=React.createClass({
getInitialState:函数(){
返回{
金额:this.props.amount,
config:this.props.config
};
},
handleClick:函数(e){
var name=e.target.name;
如果(名称==‘减少’){
如果(this.state.amount>1){
这是我的国家({
金额:(this.state.amount-1)
});
AppActions.updateAmount(this.props.index,(this.state.amount-1))
}
}否则{
这是我的国家({
金额:(this.state.amount+1)
});
AppActions.updateAmount(this.props.index,(this.state.amount+1))
}
},
handleChange:函数(e){
var金额=e.目标值;
这是我的国家({
金额:金额
});
AppActions.updateAmount(this.props.index,amount)
},
render:function(){
var config=this.state.config
返回(
{config.filelist_quantity}:{this.state.amount}{config.filelist_pieces}
);
}
});

module.exports=FileAmount可能会添加e.preventDefault();添加到handleClick方法将停止启动此循环。

可能会添加一个e.preventDefault();使用handleClick方法将停止启动此循环。

我删除了为浏览器同步代理设置添加的javascript。不知怎么搞砸了我的反应

我删除了为浏览器同步代理设置添加的javascript。不知怎么搞砸了我的反应

我在最初的帖子上留下了一条评论,但在第二次检查时,看起来很可能是你从Flux Store传下了
props.amount
。如果是这种情况,那么您正在创建一个无限循环

handleClick
递增
state.amount
,然后在调用AppAction后,应用商店用
props.amount
更新组件,然后,
onChange
触发,因为它与
state.amount
绑定,然后
onChange
更改
state.amount
并在调用
AppActions.updateAmount
时更改
props.amount


每次更新
道具
状态
时,React将调用
render()
方法。如果在执行
render()
时有任何方法更新
props
state
,那么您很可能会遇到无限循环。

我在原始帖子上留下了一条评论,但在第二次检查时,您很可能会从流量存储中传递
props.amount
。如果是这种情况,那么您正在创建一个无限循环

handleClick
递增
state.amount
,然后在调用AppAction后,应用商店用
props.amount
更新组件,然后,
onChange
触发,因为它与
state.amount
绑定,然后
onChange
更改
state.amount
并在调用
AppActions.updateAmount
时更改
props.amount


每次更新
道具
状态
时,React将调用
render()
方法。如果在执行
render()
时有任何方法更新
道具
状态
,那么您可能会遇到无限循环。

由于单击的气泡,我遇到了类似的情况。是否有任何父元素也可以触发相同的函数?由于点击冒泡,我遇到了类似的情况。是否有任何父元素也可以触发相同的函数?这段代码看起来有点可疑。您似乎有
AppActions
,这意味着您有一个流量存储,但您仍然保持此组件中的状态。Flux的单向数据流的最大好处之一是,当涉及到应用程序状态时,只有一个真实来源,因此,如果您使用应用商店,则可以不使用组件自身的状态。此代码看起来有点可疑。您似乎有
AppActions
,这意味着您有一个流量存储,但您仍然保持此组件中的状态。Flux单向数据流的最大好处之一是,当涉及到应用程序状态时,只有一个真实来源,因此,如果您使用应用商店,则可以不使用组件自身的状态。忽略上下文,这听起来像是对1000次点击事件的完全合理的解释:)忽略上下文,这听起来是对1000次点击事件的一个非常合理的解释:)