JaeSeoKim / react-kakao-maps-sdk

React components for using kakao map api
https://react-kakao-maps-sdk.jaeseokim.dev
MIT License
266 stars 29 forks source link

useKakaoLoader의 error가 항상 존재합니다 #64

Closed hslee2008 closed 8 months ago

hslee2008 commented 8 months ago
function App() {
  const [loading, error] = useKakaoLoader({
    appkey: "...",
  });
}

useKakaoLoader을 사용할 때 항상 다음과 같은 에러가 발생합니다.

TypeError: Cannot set properties of undefined (setting 'done')
    at kakaoMapApiLoader.js:181:1
    at e (sdk.js?appkey=...&libraries=clusterer:2:99)
    at t.load (sdk.js?appkey=...&libraries=clusterer:10:183)
    at callback (kakaoMapApiLoader.js:180:1)
    at e (sdk.js?appkey=...&libraries=clusterer:2:99)
    at t.load (sdk.js?appkey=...&libraries=clusterer:10:183)
    at Loader.execute (kakaoMapApiLoader.js:115:1)
    at Loader.loadCallback (kakaoMapApiLoader.js:94:1)
    at kakaoMapApiLoader.js:68:1
    at new Promise (<anonymous>)
callback() {
    kakao.maps.load(() => {
      this.done = true;
      this.loading = false;
      this.callbacks.forEach(cb => {
        cb(this.onEvent);
      });
      this.callbacks = [];
      Loader.loadEventCallback.forEach(cb => {
        cb(this.onEvent);
      });
    });
  }

이 코드에서 this.done을 활용할 수 없는 것 같습니다. https://github.com/JaeSeoKim/react-kakao-maps-sdk/blob/4b9f6b8008d575c48deaf6ad43ff1412cbf62882/packages/react-kakao-maps-sdk/src/util/kakaoMapApiLoader.ts#L279

JaeSeoKim commented 8 months ago

현재 군 현역 복무중에 있어 직접 구현 테스트가 힘듭니다. 해당 현상이 나타나는 WebIDE로 만들어진 샘플을 제공해주실수 있으신가요?

hslee2008 commented 8 months ago

Repo: https://github.com/hslee2008/heavenara/blob/main/app/src/App.js

JaeSeoKim commented 8 months ago

Repo: https://github.com/hslee2008/heavenara/blob/main/app/src/App.js

현재 군 현역 복무중에 있어서 Repo를 직접 Clone하여 테스트를 하기에는 제약사항이 많습니다. 간단하게 오류가 발생되는 환경을 CodeSandBox와 같은 WebIDE로 제공 가능할까요?

hslee2008 commented 8 months ago

codesandbox

가장 간단하게 useKakaoLoader만 실행했습니다.

codesandbox를 준비하다가 관찰한 내용인데요, 항상 에러가 일어나는 것이 아니라 Hot Reload 때나 아니면 production에서만 에러가 일어나더라고요. 새로고침하고서는 에러가 생기지 않고 undefined의 값을 가지게 됩니다.

그래서 처음에 콘솔 열었을 때 undefined라고 출력되는데 코드를 수정하고 Hot Reload를 하면 에러가 생깁니다.

JaeSeoKim commented 8 months ago

v1.1.24 배포하였습니다..!