奇怪的第二个参数传递给事件处理程序(总是未定义)

时间:2016-10-07 11:55:14

标签: reactjs event-handling react-jsx

我附加了onClick属性的事件监听器,如下所示:

<a href="#" onClick={function (event) {
    console.log(arguments.length);   // prints 2
    // arguments[0] = SyntheticEvent - it's ok
    // arguments[1] = undefined - what is this???
}}>Click me</a>

使用2个参数调用事件侦听器:合成事件和奇怪的未定义值。

我认为,正常行为是使用单个 param - 事件对象调用处理程序时。

  

Windows 10. Chrome 53. React版本--15.2.0。

1 个答案:

答案 0 :(得分:1)

第二个参数是当你没有提供密钥时对元素做出反应的键。

React会自动使用一个递增的整数来表示密钥。

  

React将根据该密钥确定它是否是同一个组件。

Here is more info.

this jsfiddle中,您可以看到您是否点击第一个链接,该键是0.0,如果您点击第二个键,则键为0.2,因为<br/>的键为0.1。