Polymer元素中的React.js组件:每个鼠标/滚轮/键事件的错误

时间:2014-01-06 06:36:40

标签: javascript polymer reactjs

聚合物0.1.1和React.js 0.8.0。

缩小大小写:http://jsbin.com/usIZuLo/3在每个鼠标/滚轮/按键事件中都会出现这样的错误:

"TypeError: Cannot set property target of #<v> which has only a getter
  at b.<anonymous> (http://cdnjs.cloudflare.com/ajax/libs/react/0.8.0/react.js:7794:28)
  at t (http://cdnjs.cloudflare.com/ajax/libs/polymer/0.1.1/platform.js:29:26363)
  at s (http://cdnjs.cloudflare.com/ajax/libs/polymer/0.1.1/platform.js:29:25903)
  at p (http://cdnjs.cloudflare.com/ajax/libs/polymer/0.1.1/platform.js:29:25456)
  at HTMLDocument.o (http://cdnjs.cloudflare.com/ajax/libs/polymer/0.1.1/platform.js:29:25217)" 
    events.js:328

看起来Polymer的events.js与React的合成事件发生冲突。

错误堆栈在此结束(react.js:7794):

  // TODO: Remove when synthetic events are ready, this is for IE<9.
  if (nativeEvent.srcElement &&
      nativeEvent.srcElement !== nativeEvent.target) {
    nativeEvent.target = nativeEvent.srcElement;
  }

问题可能是nativeEvent实际上是由Polymer包装的。根据{{​​1}}注释,这可能不是React的未来版本中的问题。

1 个答案:

答案 0 :(得分:1)

这还没有在React版本中,但是这个代码在两个月前删除了:

https://github.com/facebook/react/commit/8529f1b05368837e2b0ca695f0866e33f8fc9b35

如果您从当前母版(npm install; grunt build)构建React副本,则不应再看到错误。