1

Polymer 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 でラップされていることです。メモによると// TODO:、これは React の将来のバージョンでは問題にならない可能性があります。

4

1 に答える 1

1

これはまだ React リリースには含まれていませんが、そのコードは 2 か月前に削除されました。

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

現在のマスター ( ) から React のコピーをビルドするとnpm install; grunt build、エラーは表示されなくなります。

于 2014-01-06T21:57:04.030 に答える