2
私は減速機でこれをしようとしています。React Redux減速機の合成イベントに関する警告が表示されるのはなぜですか?
case actions.DATA_RETURNED:
newState = Object.assign({}, state);
newState.status = 'complete';
if (resp) {
var newItems = newState.items.map(item => {
var newItem = Object.assign({}, item);
var match = _.find(resp, { id: item._id });
newItem._rev = match.rev;
return newItem;
});
}
break;
私はいくつかのバリエーションを試しましたが、すべて失敗しました。
warning.js:36 Warning: This synthetic event is reused for performance reasons. If you're seeing this, you're accessing the property cancelable on a released/nullified synthetic event. This is set to null. If you must keep the original synthetic event around, use event.persist(). See https://facebook.github.io/react/docs/events.html#event-pooling for more information.
私はnewItem._rev = match.rev
を削除するか、ハードコードされた文字列であることをmatch
を設定しない限り。ですから、問題は、減量剤の中でのArray.map
を使用しようとしているようですが、なぜそれが問題なのか分かりません。私は意識的にイベントで何かをしているわけではないので、私は解決策を見つけるためにそれを回避するのに苦労している。
編集:関連する場合は、ここでアクションをディスパッチします。
return syncChangedItemsToDB(itemsChanged).then((resp) => {
dispatch({type: actions.DATA_RETURNED, resp});
});
誰もがこの警告の原因とその回避方法を知っていますか?
あなたのコードにはイベントが表示されません。あなたの行動を派遣する場所にコードを表示できますか? – Maxx
私はアクションをディスパッチしている方法で質問を更新しました。私のコードは動いています。私は以下の答えを追加しますが、私はまだ詳しい説明を探しています。 –