Membaca dan Menulis localStorage di React
Akses localStorage dengan aman di hook React, tangani lingkungan SSR, dan serialisasikan status yang kompleks.
Membaca dan Menulis localStorage di React adalah pelajaran React Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar React Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus React Academy mencakup 4 pelajaran total.
Antarmuka Pemrograman Aplikasi localStorage
localStorage adalah penyimpanan bawaan peramban dengan empat metode inti: setItem(key, value), getItem(key), removeItem(key), dan clear(). Data tetap ada setelah pemuatan ulang halaman dan peramban dimulai ulang.
Penyimpanan ini tersedia pada objek window dan terpisah untuk setiap asal, sehingga setiap asal memiliki penyimpanan terisolasi sendiri.
Bersifat Sinkron dan Memblokir
Setiap pemanggilan localStorage berjalan secara sinkron pada utas utama. Membaca atau menulis data dalam jumlah besar dapat memblokir perenderan dan membuat antarmuka terasa tersendat.
Karena itu, simpan nilai berukuran kecil dan hindari menulis pada setiap penekanan tombol atau peristiwa pengguliran.
Hanya Menyimpan Teks
localStorage hanya dapat menyimpan teks. Untuk menyimpan objek atau larik, Anda harus melakukan serialisasi terlebih dahulu dengan JSON.stringify(value) sebelum memanggil setItem.
Jika Anda menyimpan nilai yang bukan teks secara langsung, nilai tersebut akan dikonversi secara paksa, sehingga sebuah objek menjadi teks tidak berguna [object Object].
Mengurai dengan Penanganan Kesalahan
Saat membaca, Anda memanggil JSON.parse(localStorage.getItem(key)), tetapi penguraian dapat menimbulkan kesalahan jika teks yang tersimpan rusak atau ditulis oleh sumber lain.
Bungkus penguraian dalam try/catch dan gunakan nilai bawaan sebagai cadangan agar entri yang bermasalah tidak membuat komponen Anda mengalami kerusakan.
Memeriksa Ketersediaan
localStorage tidak selalu dapat digunakan: selama perenderan sisi server, window tidak ada, dan beberapa mode penjelajahan privat menimbulkan kesalahan saat menulis. Lindungi akses dengan pemeriksaan fitur.
Uji yang aman adalah try/catch yang menetapkan lalu menghapus kunci tiruan, dan mengembalikan nilai salah jika terjadi kesalahan.
Batas Kapasitas ~5MB
Sebagian besar peramban membatasi localStorage hingga sekitar lima megabita untuk setiap asal. Jika batas ini terlampaui, penulisan akan memicu QuotaExceededError.
Karena itu, localStorage cocok untuk data kecil, tetapi kurang sesuai untuk gambar, kumpulan data besar, atau respons API yang disimpan sebagai tembolok.
Data yang Sesuai
Pilihan yang sesuai adalah bagian kecil dan tidak sensitif dari antarmuka pengguna serta status pengguna: preferensi tema, status bilah sisi yang diciutkan, filter yang terakhir digunakan, banner yang ditutup, dan draf formulir yang belum disimpan.
Nilai-nilai ini perlu tetap ada setelah pemuatan ulang, tetapi tidak memerlukan permintaan bolak-balik ke server.
Data yang Tidak Sesuai
Hindari menyimpan rahasia seperti token atau kata sandi, karena skrip apa pun di halaman dapat membaca localStorage sehingga rentan terhadap XSS. Hindari juga objek besar dan status server yang menjadi acuan.
Data autentikasi sensitif sebaiknya disimpan dalam cookie httpOnly, sedangkan data acuan sebaiknya berada di server.
localStorage vs sessionStorage
Keduanya menggunakan antarmuka yang sama, tetapi sessionStorage dihapus ketika tab ditutup dan tidak dibagikan antartab. localStorage bertahan tanpa batas waktu dan dibagikan ke semua tab dari asal yang sama.
Pilih sessionStorage untuk data berumur pendek yang khusus untuk satu tab, dan localStorage untuk preferensi yang ingin dipertahankan.
vs Cookie dan IndexedDB
Cookie berukuran kecil dan dikirimkan bersama setiap permintaan HTTP, sehingga cocok untuk autentikasi tetapi memboroskan bandwidth jika digunakan untuk data umum. IndexedDB adalah basis data asinkron untuk data besar dan terstruktur, jauh melampaui batas 5MB.
Pilih cookie untuk autentikasi yang dibaca server, localStorage untuk preferensi kecil di klien, dan IndexedDB untuk data besar atau kompleks.
Pola Baca/Tulis Sederhana
Fungsi pembantu minimal menulis dengan localStorage.setItem(key, JSON.stringify(value)) dan membaca dengan try/catch yang dilindungi di sekitar JSON.parse(localStorage.getItem(key)), lalu mengembalikan nilai bawaan jika terjadi kegagalan.
Pembungkus kecil ini menempatkan serialisasi dan penanganan galat di satu tempat.
Uji Cepat
Uji pemahaman Anda tentang tipe data localStorage.
Ringkasan
Anda telah mempelajari antarmuka localStorage, sifatnya yang sinkron dan hanya menerima teks, batasnya yang mendekati 5MB, serta cara mengurai data dengan aman dan memeriksa ketersediaannya untuk SSR dan mode privat.
Anda juga telah membandingkannya dengan sessionStorage, cookie, dan IndexedDB untuk memilih penyimpanan yang tepat.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Membaca dan Menulis localStorage di React” gratis?
Ya — teks lengkap “Membaca dan Menulis localStorage di React” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus React Academy, upgrade ke CoddyKit PRO. Kursus React Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Membaca dan Menulis localStorage di React”?
Akses localStorage dengan aman di hook React, tangani lingkungan SSR, dan serialisasikan status yang kompleks. Kamu berlatih React Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai React Academy?
Tidak diperlukan pengalaman sebelumnya. React Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Membaca dan Menulis localStorage di React” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran React Academy ini?
Ya. Setiap pelajaran React Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Membaca dan Menulis localStorage di React
- Menyinkronkan Status dengan localStorage
- Menangani Peristiwa Penyimpanan Antar-Tab
- sessionStorage, IndexedDB, dan Memilih API yang Tepat