2
나는 감속기에서 이것을하려고합니다.내 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
을 설정하지 않은 경우. 문제는 lodash의 find
내부를 감속기에 넣으려고 시도하는 것 같지만, 왜 이것이 문제인지 이해할 수 없습니다. 나는 의식적으로 사건으로 어떤 일도하지 않기 때문에 해결책을 찾기 위해 의식적으로 노력하고 있습니다.
편집 : 관련성이있는 경우 여기에 작업을 전달하는 방법이 나와 있습니다.
return syncChangedItemsToDB(itemsChanged).then((resp) => {
dispatch({type: actions.DATA_RETURNED, resp});
});
이 경고의 원인과 해결 방법을 알고있는 사람이 있습니까?
이벤트에 대한 반응이므로 코드에 이벤트가 표시되지 않습니다. 행동을 파견하는 곳에서 코드를 보여줄 수 있습니까? – Maxx
나는 내가 어떻게 행동을 파견하는지에 대한 나의 질문을 업데이트했다. 내 코드가 작동하는 것으로 밝혀졌습니다. 아래에 답변을 추가하겠습니다. 그러나 나는 아직도 더 많은 설명을 원합니다. –