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

Çıkış Yap

translation

Bu, AI tarafından çevrilen bir gönderidir.

뚠뚠멍의 생각들

React - kakao tanımlı değil, nasıl çözülür?

  • tr Writing language: Korece
  • tr Referans Ülke: tr Tüm ülkeler country-flag

Dil Seç

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

Text summarized by durumis AI

  • React 18'de create-react-app ortamında Kakao Haritalar API'sini entegre etme sürecinde haritanın işlenmemesiyle ortaya çıkan sorun, React bileşenlerinin küresel nesnelere doğrudan erişmemesinden kaynaklanmaktadır.
  • React, kapsülleme, performans ve durum yönetimi gibi nedenlerle küresel nesnelere doğrudan erişmez ve Redux gibi merkezi durum yönetim kitaplıkları kullanarak veri akışını kontrol eder.
  • Vue'dan farklı olarak React, klasör yapısı veya kancalar gibi konularda daha özgür bir his verir ancak yeni başlayan geliştiriciler için daha zorlayıcı olabilir, bu nedenle bir oyuncak proje aracılığıyla aşinalık kazanmak faydalı olabilir.
  • Sorun
  • Çözüm
  • Neden
  • Duygular


Sorun

React 18, create-react-app ortamında Kakao Haritalar API'sini entegre ederken harita render edilmedi!

Head etiketi içine script etiketi eklediğim için tarayıcının render edilmeden önce yüklenmesi gerektiğini düşündüm.

** html'yi yazdım ama görünmüyor!!

~ index.html'nin head etiketi içine Kakao Haritaları'nı çağırma kodu ~

<!-- 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(() => {
    // haritayı yükle


Ancak konsolda kakao tanımsız yalnızca yazılırve hiçbir şey render edilmedi.


Çözüm

Temel: React bileşenleri küresel nesnelere doğrudan erişmez.


Çözüm 1-1

Bileşen fonksiyonunun dışında küresel nesneden kakao özelliğini çekip bildir.

const { kakao } = window;

function Map() {
    //...


Çözüm 1-2

Kakao Haritaları'nı render etmek için gereken fonksiyonları ayrı bir özel hook'a yaz.

//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>
    
    )
    


Sürükleme olayı, tıklama olayı, işaretçi işleme gibi genel olarak haritanın gerekli fonksiyonları

bileşen içinde uygulamak yerine,

özel hook'larda ayırmak, yeniden kullanılabilirlik ve okunabilirlik açısından daha iyidir.


Neden

React'te küresel nesnelere erişmemek nedeni - React'in kavramlarını anlamanız gerekiyor.


1) Kapsülleme ve Modülerlik

- Her bileşen bağımsız ve yeniden kullanılabilir olmalıdır. Birçok bileşenin küresel nesneye bağımlı olması bağımsızlığı ortadan kaldıracak ve oldukça karmaşık hale getirecektir.


2) Performans ve Kolay Bakım

- React, durum değiştiğinde yeniden render eder, küresel nesneler durum değişikliklerini izlemek için uygun değildir.


3) Durum Yönetimi Merkezileştirilmiş Olarak

- Yine de birçok değişkeni paylaşmanız gerekiyorsa Redux gibi merkezi durum yönetimi kitaplıkları kullanın.

Merkezi -> bileşenlere veri akışını kontrol ederek hataları önleyin ve bakımı kolaylaştırın.


* Sunucu Tarafı Renderlama

Son zamanlarda SEO (arama motoru optimizasyonu) için sunucu tarafı renderlama sıklıkla kullanılıyor ve window nesnesine sunucu tarafında erişilemiyor!


Duygular

İlk React projemi yaparken yaşadığım bir hataydı.

Vue ile 2 yıldan fazla bir süredir üretim yapıyorum, ancak React projesine başlarken

Kakao Haritaları'nı gösteremediğim için oldukça şaşırdım...!!!


Vue'ya kıyasla klasör yapısı ve hook'lar biraz daha özgür, bu da onu daha zorlaştırıyor.

En verimli şekilde nasıl yazılır? Düşünmek için çok şey var.

Oyuncak projeyi, yani gerçek anlamda bir oyuncak gibi kullanarak daha fazla öğrenmem gerekiyor.


* Blog yeni ama durumis oldukça benzersiz ve eğlenceli.

Korelilerin sevdiği 3 satırlık özeti de veriyor ㅋㅋ

Yurtdışındaki geliştiricilerle tanışamam mı?

Kod düzenleyicinin biraz iyileştirilmesi gerekiyor


Görüş alışverişi, eleştiriye açığım~!

Mutlu günler!




뚠뚠멍
뚠뚠멍의 생각들
뚠뚠멍의 생각들
뚠뚠멍
CSS'nin Temel Kuralları (Normal akış, BFC, IFC) CSS düzen düzenleme sırasında ortaya çıkan sorunları çözmek için Normal Akış, BFC ve IFC kavramlarını açıklar ve her bir elementin özelliğini ve uygulama örneklerini tanıtır. Özellikle, float etkileşimlerini ve marjin iptal sorununu çözmek için BFC uygula

7 Eylül 2024

[React Hook] useState React'ın useState hook'unun yeniden oluşturma sırasında tüm bileşeni yeniden oluşturmasının nedenini, değer koruma yöntemlerini ve iç uygulama yapısına ilişkin ayrıntılı açıklamalar içerir. ReactFiberHooks.js kod analiziyle hook'un çalışma şeklini anlayab
Sunrabbit
Sunrabbit
Sunrabbit
Sunrabbit

14 Mart 2024

Flitter 1.0.0 Yayınlandı: D3'ün Yerini Alacak svg Kütüphanesi Flitter, web geliştiricilerinin çizelgeleri ve diyagramları kolay ve hızlı bir şekilde uygulamalarına yardımcı olan bir veri görselleştirme kütüphanesidir. Bildirici kod yazma yaklaşımı ve gelişmiş düzen hesaplama özellikleri karmaşık veri görselleştirme
Meursyphus
Meursyphus
Flitter, web geliştiricilerinin çizelgeleri ve diyagramları kolay ve hızlı bir şekilde uygulamalarına yardımcı olan bir veri görselleştirme kütüphanesidir. Bildirici kod yazma yaklaşımı ve gelişmiş düzen hesaplama özellikleri karmaşık veri görselleştirme
Meursyphus
Meursyphus

1 Mayıs 2024

Yazı yazımına ilişkin SSS koleksiyonu durumis AI Blog Yazma Aracı kullanarak yazı yazarken sıkça sorulan soruların ve yanıtların listesini inceleyin. Satır sonu, yazı tipi, başlık, resim açıklama, önizleme yazısı gibi çeşitli özellikler hakkında açıklamalar içerir.
durumis official blog
durumis official blog
SSS yazısı olan resim
durumis official blog
durumis official blog

25 Ocak 2024

한국투자증권 API Geliştirme Deneme Yanılma Kayıtları Bu blog yazısı, 한국투자증권 API'sini kullanarak otomatik işlem programı yapmak isteyen geliştiriciler içindir. Hesap açma, demo işlem desteği, Websockets ve daha fazlası gibi geliştirme sürecinde karşılaşılan zorluklar anlatılıyor ve çözüm yolları öneriliyor.
(로또 사는 아빠) 살림 하는 엄마
(로또 사는 아빠) 살림 하는 엄마
Bu blog yazısı, 한국투자증권 API'sini kullanarak otomatik işlem programı yapmak isteyen geliştiriciler içindir. Hesap açma, demo işlem desteği, Websockets ve daha fazlası gibi geliştirme sürecinde karşılaşılan zorluklar anlatılıyor ve çözüm yolları öneriliyor.
(로또 사는 아빠) 살림 하는 엄마
(로또 사는 아빠) 살림 하는 엄마

23 Nisan 2024

SSS Sıkça Sorulan Sorular Durumis, metin yazdıktan sonra otomatik çeviri, özetleme, konu oluşturma gibi çeşitli özellikler sunan ücretsiz bir beta hizmetidir. Şu anda mobil cihazlarda metin yazma desteklenmemektedir ve yorumlar, programlanmış yayın, raporlama gibi özellikler daha
durumis official blog
durumis official blog
SSS yazısıyla bir resim
durumis official blog
durumis official blog

24 Ocak 2024

TaskLog: Turbopack Hata Ayıklama GitHub'daki Next.js PR'sinde test vakası hatalarını giderirken hata ayıklamada zorluk yaşadım ve ilgili test vakalarını devre dışı bırakarak sorunu çözdüm.
Diary of @kdy1
Diary of @kdy1
GitHub'daki Next.js PR'sinde test vakası hatalarını giderirken hata ayıklamada zorluk yaşadım ve ilgili test vakalarını devre dışı bırakarak sorunu çözdüm.
Diary of @kdy1
Diary of @kdy1

15 Eylül 2024