e.currentTarget 에러

Warning: This synthetic event is reused for performance reasons. If you're seeing this, you're accessing the method currentTarget on a released/nullified synthetic event. This is a no-op function. If you must keep the original synthetic event around, use event.persist(). See https://fb.me/react-event-pooling for more information.
Uncaught (in promise) TypeError: e.currentTarget.getAttribute is not a function
     at Puzzle._callee2$ (puzzle.js:202)
     at tryCatch (runtime.js:62)
     at Generator.invoke as _invoke
     at Generator.prototype.(anonymous function) as next
     at asyncGeneratorStep (main.js:637)
     at _next (main.js:637)


  1. 버튼을 누른다
  2. 서버에 POST메세지를 보내서 포인트를 체크한다
  3. 201을 응답받았으면 e.currentTarget에 접근한다


let pointCheckResult = await this.checkPoint();
console.log( 'pointCheckResult : ', pointCheckResult );
let boxNumber = parseInt(e.currentTarget.getAttribute('data-number'));

this.checkPoint()를 지우면 잘 작동하는데, 저게 있으면 제대로 작동하지 않는다. 내 생각에는 비동기 통신을 하는동안 브라우저가 기다려야 하는데, 그 사이에 저 e가 가리키는 대상이 DOM에 계속 있으리란 보장이 없으니까 저렇게 쓰지 말라는 의미같다.


this.checkPoint()를 더 아래쪽에서 사용한다.

Add Comment