Try using it in your preferred language.

English

  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar
translation

Ini adalah postingan yang diterjemahkan oleh AI.

뚠뚠멍의 생각들

React - kakao tidak terdefinisi, bagaimana cara mengatasinya?

  • Bahasa penulisan: Bahasa Korea
  • Negara referensi: Semua negara country-flag

Pilih Bahasa

  • Bahasa Indonesia
  • English
  • 汉语
  • Español
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar

Teks yang dirangkum oleh AI durumis

  • Masalah yang terjadi saat mengintegrasikan API Kakao Map di lingkungan React 18, create-react-app, dan peta tidak dirender, adalah karena komponen React tidak mengakses objek global secara langsung.
  • React tidak mengakses objek global secara langsung untuk alasan enkapsulasi, kinerja, dan manajemen status, dan menggunakan perpustakaan manajemen status terpusat seperti Redux untuk mengontrol aliran data.
  • Berbeda dengan Vue, React memberikan rasa kebebasan dalam hal struktur folder dan hook, tetapi bagi pengembang yang baru mengenal React, ini bisa jadi sulit. Sebaiknya biasakan diri dengan React melalui proyek mainan.
  • Masalah
  • Solusi
  • Alasan
  • Refleksi


Masalah

Saat mengintegrasikan Kakao Map API dalam lingkungan React 18, create-react-app, peta tidak dirender!

Saya telah menyisipkan tag skrip di dalam tag kepala, jadi saya berasumsi bahwa tag tersebut akan dimuat sebelum browser merendernya.

**Saya telah menulis HTML, tetapi tidak ditampilkan!!**

~Kira-kira kode yang memanggil Kakao Map di dalam tag kepala index.html~

<!-- index.html -->
 
<head>
    <script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=%REACT_APP_API_KEY%&libraries=services,clusterer,drawing" id="map-lib"></script>
useEffect(() => {
    // memuat peta    


Namun, di konsol, hanyakakao is not defined yang direkam tidak ada yang dirender.


Solusi

Dasar: Komponen React tidak mengakses objek global secara langsung.


Solusi 1-1

Deklarasikan atribut kakao dari objek global di luar fungsi komponen.

const { kakao } = window;

function Map() {
    //...


Solusi 1-2

Buat fungsi yang diperlukan untuk merender Kakao Map sebagai hook khusus.

//hooks/useKakaoMap.js

const { kakao } = window;

function useKakaoMap() {
    const initializeMap = useCallback(() => {
        const container = document.getElementById('map');
        const options = {
        center: new kakao.maps.LatLng(33.450701, 126.570667),
            level: 3
        };
        const newMap = new kakao.maps.Map(container, options);
        setMap(newMap);
    }, []);

    //...    
    
    return {
        initializeMap
    }
}

export default useKakaoMap;

//Map.js

function Map() {
    
    const {
        initializeMap,
    } = useKakaoMap();
    
    useEffect(() => {
        initializeMap();
    }, [initializeMap]);
    
    
    return(
     <div id="map"></div>
    
    )
    


Event drag, klik, handling marker, dan fungsi umum lainnya yang diperlukan peta

lebih baik dipisahkan sebagai hook khusus daripada diimplementasikan di dalam komponen,

baik dari segi reusability maupun readability.


Alasan

Alasan mengapa React tidak mengakses objek global - Anda perlu memahami konsep React.


1) Enkapsulasi dan Modularitas

- Setiap komponen harus independen dan dapat digunakan kembali. Ketergantungan pada objek global di banyak komponen akan menghilangkan independensi dan menjadi sangat rumit.


2) Performa dan Perawatan yang Mudah

- React akan melakukan render ulang saat keadaan berubah, dan objek global tidak cocok untuk melacak perubahan keadaan.


3) Manajemen Keadaan dipusatkan

- Namun, jika Anda ingin berbagi banyak variabel, gunakan library manajemen keadaan terpusat seperti Redux.

Pusat -> mengontrol aliran data ke komponen untuk menghindari kesalahan dan memudahkan perawatan.


* Render Sisi Server

Saat ini, Render Sisi Server banyak digunakan untuk SEO (Optimasi Visibilitas Mesin Pencari), tetapi objek window tidak dapat diakses di sisi server!!


Refleksi

Ini adalah cobaan dan kesalahan yang saya alami saat mengerjakan proyek React pertama saya.

Saya telah mengerjakan vue selama lebih dari 2 tahun, tetapi ketika saya mulai mengerjakan proyek React,

Saya sangat bingung karena saya tidak dapat menampilkan Kakao Map...!!!


Vue terasa sedikit lebih bebas dibandingkan dengan React dalam hal struktur folder dan hook, yang menjadikannya lebih sulit.

Saya banyak berpikir tentang cara menulisnya secara efisien.

Saya harus lebih banyak berlatih dengan proyek mainan, seperti namanya.


* Ini adalah blog pertama saya, dan durumis sangat unik dan menyenangkan.

Ini juga memberikan ringkasan 3 baris yang disukai orang Korea, haha.

Mungkinkah kita bertemu pengembang luar negeri di sini?

Semoga editor kode sedikit ditingkatkan.


Selamat datang untuk berbagi pendapat dan kritik~!

Semoga harimu menyenangkan!




뚠뚠멍
뚠뚠멍의 생각들
뚠뚠멍의 생각들
뚠뚠멍
Aturan Dasar CSS (Normal flow, BFC, IFC) Artikel ini menjelaskan tentang konsep dasar yang menyusun tata letak CSS seperti elemen blok, elemen inline, margin, alignment, dan BFC (Block Formatting Context) dan IFC (Inline Formatting Context). Artikel ini membahas secara detail tentang alur normal

7 September 2024

[React Hook] useState Artikel ini membahas tentang alasan mengapa React useState hook merender ulang seluruh komponen saat dilakukan re-rendering, cara mempertahankan nilai, dan penjelasan terperinci tentang struktur implementasi internalnya. Analisis kode ReactFiberHooks.js m
Sunrabbit
Sunrabbit
Sunrabbit
Sunrabbit

14 Maret 2024

Catatan tentang Kesulitan dalam Pengembangan API Korea Investment & Securities Artikel blog ini ditujukan untuk pengembang yang ingin membuat program perdagangan otomatis menggunakan API Korea Investment & Securities. Artikel ini membahas kesulitan yang dihadapi dalam proses pengembangan, seperti pembukaan akun, ketidakmampuan untuk
(로또 사는 아빠) 살림 하는 엄마
(로또 사는 아빠) 살림 하는 엄마
Artikel blog ini ditujukan untuk pengembang yang ingin membuat program perdagangan otomatis menggunakan API Korea Investment &amp; Securities. Artikel ini membahas kesulitan yang dihadapi dalam proses pengembangan, seperti pembukaan akun, ketidakmampuan untuk
(로또 사는 아빠) 살림 하는 엄마
(로또 사는 아빠) 살림 하는 엄마

23 April 2024

Berita dan Jadwal Startup Minggu Pertama Mei Startup B2B AI Korea 'Dalpa' berhasil mendapatkan pendanaan Seri A awal sebesar 12 miliar won, dan berbagai startup lainnya juga mendapatkan pendanaan dan terus berkembang. Selain itu, Sertifikat Kakao telah mencapai 40 juta pengguna hanya dalam 3 tahun s
스타트업 커뮤니티 씬디스 (SeenThis.kr)
스타트업 커뮤니티 씬디스 (SeenThis.kr)
스타트업 커뮤니티 씬디스 (SeenThis.kr)
스타트업 커뮤니티 씬디스 (SeenThis.kr)

30 April 2024

Referensi Pengembangan API Korea Investment & Securities Posting blog ini menjelaskan proses pengumpulan informasi yang diperlukan untuk mengembangkan program perdagangan otomatis menggunakan API Korea Investment & Securities. Anda dapat memperoleh informasi yang diperlukan untuk pengembangan program perdaganga
(로또 사는 아빠) 살림 하는 엄마
(로또 사는 아빠) 살림 하는 엄마
Posting blog ini menjelaskan proses pengumpulan informasi yang diperlukan untuk mengembangkan program perdagangan otomatis menggunakan API Korea Investment &amp; Securities. Anda dapat memperoleh informasi yang diperlukan untuk pengembangan program perdaganga
(로또 사는 아빠) 살림 하는 엄마
(로또 사는 아빠) 살림 하는 엄마

22 April 2024

Pentingnya Meta Tag dalam SEO dan Meta Tag yang Telah Kehilangan Relevansinya Meta tag merupakan elemen penting yang memungkinkan mesin pencari memahami dan mengindeks situs web. Berbagai macam meta tag, seperti tag judul, tag deskripsi meta, dan tag meta robot, dapat digunakan untuk meningkatkan visibilitas di halaman hasil pencar
꿈많은청년들
꿈많은청년들
Gambar dengan tulisan MetaTag
꿈많은청년들
꿈많은청년들

27 Mei 2024

[Objek] Bab 1. Objek, Desain Dalam pengembangan perangkat lunak, kemudahan perubahan dan komunikasi sangat penting, dan untuk ini, desain berorientasi objek harus diterapkan. Objek adalah entitas otonom yang mengelola datanya sendiri, dan desain yang baik adalah mengelola dependensi
제이온
제이온
제이온
제이온

28 April 2024