| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- DP
- 정석
- cs
- 스택
- OS
- 문제풀이
- coding
- Operating System
- 백준
- Computer science
- 자료구조
- 오에스
- 브루트포스
- c++
- 컴퓨터공학과
- 개발
- 컴공
- 코딩
- 오퍼레이팅시스템
- 북리뷰
- Stack
- 구현
- vector
- 너비우선탐색
- bfs
- 정석학술정보관
- 코테
- 알고리즘
- 컴공과
- 그래프
- Today
- Total
Little Jay
[React] KakaoTalk 공유하기 연동 중 sendDefault 에러 상황 본문
Toy Project를 하는 도중 Kakao톡을 연동시키고 싶어서 Kakao API를 연동하던 중 의도하지 않은 에러가 나타났다.
카카오톡 공유 기능을 추가하기 위해서 Kakao톡 공식문서에서 Set Up을 하라는 대로 하고 공유를 위한 환경을 잘 만들어놨다.
https://developers.kakao.com/docs/latest/ko/message/js-link
Kakao Developers
카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.
developers.kakao.com
React Framework를 통해서 Netlify를 통해 Project를 배포하려면 알다싶이 배포에 근간이 되는 public 폴더 안에 있는 index.html에 Kakao SDK를 script로 넣어주여야한다. 공식문서에 나와있는대로 SDK 2.1.0 버전을 public 폴더에 부여받은 Key와 Intergrity, Version등을 잘 넣어서 Netlify로 배포를 해보았더니
Uncaught TypeError: Cannot read properties of undefined (reading 'sendDefault')
라는 에러가 떴다. sendDefault는 분명 카카오 API Reference에 잘 정의되어 있는 것인데 왜 이렇지? 라고 한참을 고민하던 중에 처음으로 다시 돌아가서 SDK 2.1.0 버전으로 script 부분을 설정을 해놓은 것을 옛날 버전 방식으로 바꾸었다.
<script src="https://t1.kakaocdn.net/kakao_js_sdk/${버전}/kakao.min.js" integrity="${integrity}" crossorigin="anonymous"></script>
카카오 2.0.0 이상의 버전에는 이렇게 쓰는 것을 권고하고 있지만,
<script src="//developers.kakao.com/sdk/js/kakao.min.js"></script>
이렇게 바꾸었더니 갑자기 문제가 해결되었다.
여러 블로그의 글을 읽어보았지만 다른 블로그들은 스크립트를 여러번 호출해서 저런 에러가 생겨있다고 나와있지만, 나의 경우에는 최신의 방법으로 사용하는 것이 아닌 옛날의 방식대로 하니 성공을 했다. (역시 오래된 코드가 안정적이여서 업데이트를 하지 말라는 사람들의 말이 맞는것 같...... 읍읍......)
어째뜬 이 계기를 통해서 역시 옛 것이 좋다는 것을 다시 한번 느낄 수 있는 계기가 되었고, 혹시 카카오톡 공유 기능을 위해 API를 사용하다가 최신 버전 보다는 안정적인 구 버전을 사용하는 것을 잊지 말자는 차원에서 기록을 남긴다.
'FrontEnd' 카테고리의 다른 글
| [JS] Vanila JS로 querySelector 구현 (0) | 2023.01.11 |
|---|---|
| [React] Netlify build 중 버전 충돌 오류 (0) | 2022.12.27 |
| Simple Wordle Game! (0) | 2022.02.26 |
| [React] CRA에서 eject없이 Decoration 사용하기 (0) | 2022.02.11 |