」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 將本機儲存 API 與 JavaScript 和 React JS 結合使用

將本機儲存 API 與 JavaScript 和 React JS 結合使用

發佈於2024-11-06
瀏覽:236

Using Local Storage API With JavaScript And React JS

JavaScript এবং React এ Local Storage API ব্যবহার সম্পর্কে বিস্তারিত আলোচনা করতে পারবেন?

JavaScript এবং React এ Local Storage API ব্যবহার খুব গুরুত্বপূর্ণ একটি কনসেপ্ট, যা অ্যাপ্লিকেশনের ডেটা ব্রাউজারের মধ্যে সংরক্ষণ করার জন্য ব্যবহার করা হয়। এতে ডেটা ব্রাউজারে সেভ করা থাকে এবং ব্রাউজার বন্ধ বা রিফ্রেশ করলেও ডেটা হারিয়ে যায় না।

Local Storage এর বৈশিষ্ট্য:

  1. Key-Value Pair Storage: Local storage ডেটা key-value pair আকারে সংরক্ষণ করে।
  2. Persistent Storage: ব্রাউজার বন্ধ হওয়ার পরেও ডেটা থাকে।
  3. String Data: Local storage শুধুমাত্র string ডেটা সংরক্ষণ করতে পারে।
  4. 5MB Data Limit: Local storage এ সাধারণত 5MB পর্যন্ত ডেটা সংরক্ষণ করা যায়।
  5. No Expiry Date: Cookies এর মতো Local storage এর কোনো expiration time থাকে না।

Local Storage Methods:

  1. localStorage.setItem(key, value): ডেটা সংরক্ষণ করতে ব্যবহৃত হয়।
  2. localStorage.getItem(key): ডেটা রিট্রিভ করতে ব্যবহৃত হয়।
  3. localStorage.removeItem(key): কোনো নির্দিষ্ট key এর ডেটা মুছে ফেলতে ব্যবহৃত হয়।
  4. localStorage.clear(): সব ডেটা মুছে ফেলতে ব্যবহৃত হয়।

React এ Local Storage ব্যবহার:

React এ, local storage ডেটা ম্যানেজ করতে সাধারণত React এর useEffect এবং useState হুক ব্যবহার করা হয়। এতে অ্যাপ্লিকেশনটি যখন প্রথম লোড হয় বা আপডেট হয়, তখন ডেটা local storage থেকে আনা হয় এবং প্রয়োজন অনুযায়ী সেভ করা হয়।

উদাহরণ:

React এর মাধ্যমে একটি সাধারণ theme সিস্টেম তৈরি করে দেখানো হলো, যেখানে থিমের তথ্য local storage এ সংরক্ষণ করা হবে।

import React, { useState, useEffect } from "react";

function App() {
  // local storage থেকে theme আনতে useState ব্যবহার করা হচ্ছে
  const [theme, setTheme] = useState(() => {
    return localStorage.getItem("theme") || "light";
  });

  // useEffect ব্যবহার করে local storage এ theme সংরক্ষণ করা হচ্ছে
  useEffect(() => {
    localStorage.setItem("theme", theme);
  }, [theme]);

  // থিম পরিবর্তন করার জন্য একটি function
  const toggleTheme = () => {
    setTheme((prevTheme) => (prevTheme === "light" ? "dark" : "light"));
  };

  return (
    

{theme === "light" ? "Light Mode" : "Dark Mode"}

); } export default App;

কোড বিশ্লেষণ:

  1. useState: এখানে theme state তৈরি করা হয়েছে এবং initial value local storage থেকে নিয়ে নেওয়া হয়েছে। যদি local storage এ কোনো theme না থাকে, তাহলে default light দেওয়া হয়েছে।

  2. useEffect: যখনই theme state আপডেট হয়, তখন useEffect ফাংশন রান করে এবং নতুন theme local storage এ সেভ করে দেয়।

  3. toggleTheme: এই ফাংশনের মাধ্যমে থিম পরিবর্তন করা হয়, যা light থেকে dark বা dark থেকে light এ পরিবর্তিত হয়।

Local Storage এ Object সংরক্ষণ:

Local storage শুধুমাত্র string ডেটা সংরক্ষণ করতে পারে। তাই যদি কোনো object সংরক্ষণ করতে চান, তাহলে সেটিকে JSON.stringify() দিয়ে string এ রূপান্তর করতে হবে এবং JSON.parse() দিয়ে পুনরায় object এ রূপান্তর করতে হবে।

উদাহরণ:

// Object সংরক্ষণ করা
const user = { name: "John", age: 30 };
localStorage.setItem("user", JSON.stringify(user));

// Object রিট্রিভ করা
const storedUser = JSON.parse(localStorage.getItem("user"));
console.log(storedUser); // Output: { name: "John", age: 30 }

React এ Local Storage এর প্রয়োগের কিছু উদাহরণ:

  1. User Authentication: লগইন করা ব্যবহারকারীর তথ্য local storage এ সংরক্ষণ করা যায়, যাতে ব্যবহারকারী পরবর্তীতে অ্যাপ খুললে আবার লগইন করতে না হয়।
  2. Theme Settings: ব্যবহারকারীর পছন্দের থিম সংরক্ষণ করা যায়, যাতে পরবর্তীতে সে অ্যাপ খুললে আগের থিম রিমেম্বার হয়।
  3. Shopping Cart: ই-কমার্স সাইটে ব্যবহারকারীর শপিং কার্টের তথ্য local storage এ সংরক্ষণ করা যায়।

এইভাবে React এ local storage ব্যবহার করে আপনি ডেটা persistent করতে পারেন এবং ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে পারেন।

Local Storage ব্যবহার করার সময় সতর্কতা: Local storage এ sensitive ডেটা সংরক্ষণ করা উচিত নয়, কারণ এটি ক্লায়েন্ট-সাইড এ স্টোর করা হয় এবং সহজেই অ্যাক্সেস করা যায়। Sensitive ডেটা সংরক্ষণের জন্য sessionStorage বা cookies এর মতো অন্যান্য নিরাপদ পদ্ধতি ব্যবহার করা যেতে পারে।

版本聲明 本文轉載於:https://dev.to/rsmacademybd/using-local-storage-api-with-javascript-and-react-js-19m9?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • 如何在 Go 中追蹤 HTTP POST 請求的進度?
    如何在 Go 中追蹤 HTTP POST 請求的進度?
    Go 中追蹤HTTP POST 請求的進度透過POST 請求發送大檔案和映像時,開發者經常面臨追蹤上傳進度的挑戰。本問題探討了一種可靠的方法來監控 Go 應用程式中此類請求的進度。 此問題建議手動開啟 TCP 連線並分塊發送 HTTP 請求。但是,此方法可能會遇到 HTTPS 網站的限制,並且不被認...
    程式設計 發佈於2024-11-06
  • 如何在 Java 中取得資料夾中的檔案名稱清單?
    如何在 Java 中取得資料夾中的檔案名稱清單?
    使用Java 獲取文件夾中的文件名獲取目錄中文件名列表的任務是各種環境中的常見需求編程場景。要在 Java 中實現此目的,有一個簡單的方法,即利用 File 類別。 程式碼方法:首先,使用所需的目錄路徑實例化File 物件:File folder = new File("your/path...
    程式設計 發佈於2024-11-06
  • 角管:綜合指南
    角管:綜合指南
    Angular 中的 Pipes 是简单的函数,用于在不修改底层数据的情况下转换模板中的数据。管道接收一个值,对其进行处理,然后返回格式化或转换后的输出。它们通常用于格式化日期、数字、字符串,甚至数组或对象。 它们允许您直接在视图中以更具可读性或相关性的格式格式化和显示数据,而无需更改底层数据模型。...
    程式設計 發佈於2024-11-06
  • Tailwind CSS 和深色模式
    Tailwind CSS 和深色模式
    在本文中,我們將探討如何在 Tailwind CSS 中實現深色模式。深色模式已成為流行的設計趨勢,因為它可以在低光環境下提供更好的使用者體驗並減輕眼睛疲勞。 Tailwind 可透過其內建實用程式輕鬆支援暗模式。 1. Tailwind 中的深色模式如何運作 Tailwind 提...
    程式設計 發佈於2024-11-06
  • 如何使用 CakePHP 的 Find 方法執行 JOIN 查詢?
    如何使用 CakePHP 的 Find 方法執行 JOIN 查詢?
    CakePHP Find 方法與 JOINCakePHP find 方法提供了一種從資料庫檢索資料的強大方法,包括連接表。本文示範了使用 CakePHP 的 find 方法執行 JOIN 查詢的兩種方法。 方法 1:利用模型關係此方法涉及定義模型之間的關係並使用可遏制的行為。考慮以下模型關係:cla...
    程式設計 發佈於2024-11-06
  • 如何在 Python 中重複使用生成器而不重新計算或儲存結果?
    如何在 Python 中重複使用生成器而不重新計算或儲存結果?
    透過重置在 Python 中重複使用生成器在 Python 中,生成器是用於迭代元素序列的強大工具。但是,一旦迭代開始,生成器就無法倒回。如果您需要多次重複使用生成器,這可能會帶來挑戰。 重複使用產生器的一個策略是再次重新運行生成器函數。這將從頭開始重新啟動生成過程。然而,如果生成器函數的計算成本很...
    程式設計 發佈於2024-11-06
  • 面向 JavaScript 開發人員的熱門 S 程式碼擴展
    面向 JavaScript 開發人員的熱門 S 程式碼擴展
    JavaScript 正在快速發展,圍繞它的工俱生態系統也在快速發展。 身為開發人員,您希望讓您的工作流程盡可能有效率且流暢。這就是 Visual Studio Code (VS Code) 的用武之地。 我精心挑選了 5 個 VS Code 擴展,它們將顯著增強您的 JavaScript 開發...
    程式設計 發佈於2024-11-06
  • 如何使用 HTML 輸出標籤來顯示計算結果。
    如何使用 HTML 輸出標籤來顯示計算結果。
    歡迎回來!我希望每個人都度過愉快的周末。今天,讓我們回到 HTML 標籤並專注於 標籤。 標籤是什麼? 標籤用於顯示計算結果。它是一個內聯元素,可以放置在 、 或其他內聯元素內。它通常用於顯示計算結果或即時顯示變數值。 閱讀完整文章,即時觀看並取得程式碼。 ...
    程式設計 發佈於2024-11-06
  • Java:理解變數、資料型態和輸入/輸出
    Java:理解變數、資料型態和輸入/輸出
    介绍: Java 是世界上最流行、最通用的编程语言之一,它被用于从 Web 应用程序到移动应用程序的所有领域。如果您要开始 Java 之旅,了解基础知识至关重要。在本指南中,我们将深入探讨三个基本概念——变量、数据类型和输入/输出操作——它们构成了任何 Java 程序的支柱。在读完...
    程式設計 發佈於2024-11-06
  • 如何根據 Div 的高度保持其縱橫比?
    如何根據 Div 的高度保持其縱橫比?
    根據高度維護 Div 的長寬比在網頁設計中,控制元素的長寬比對於響應式佈局至關重要。本題探討如何保持 div 的寬度佔其高度的百分比,確保元素的形狀保持一致,無論其高度如何變化。 傳統方法是使用 padding-top 來設定 div 的高度一個元素,而 padding-left 可以用作物件寬度的...
    程式設計 發佈於2024-11-06
  • 在 Flet 中處理 DatePicker
    在 Flet 中處理 DatePicker
    我需要執行 DatePicker 的專案。 Veamos el ejemplo que proporciona la documentación oficial de Flet. import datetime import flet as ft def main(page: ft.Page): ...
    程式設計 發佈於2024-11-06
  • 如何調整影像大小以適合圓形 SVG 遮罩?
    如何調整影像大小以適合圓形 SVG 遮罩?
    調整圖像大小以適合圓形SVG 路徑嘗試使用SVG 路徑從圖像中剪切圓形部分時,這一點很重要以確保正確對齊。如果圖像不太適合,可能是由於 SVG 蒙版的大小或位置不正確。 這裡有一個實現所需結果的替代方法:使用增強SVG 蒙版:此方法使用SVG 蒙版創建一個圓孔,其中顯示影像:<svg widt...
    程式設計 發佈於2024-11-06
  • 技術面試問題 - 部分打字稿
    技術面試問題 - 部分打字稿
    Introduction Hello, hello!! :D Hope you’re all doing well! How we’re really feeling: I’m back with the second part of this series. ? In this...
    程式設計 發佈於2024-11-06
  • 如何在 Laravel Eloquent 中為每個唯一的“seller_id”選擇具有最大“created_at”的行?
    如何在 Laravel Eloquent 中為每個唯一的“seller_id”選擇具有最大“created_at”的行?
    Laravel Eloquent: Select Rows with Maximum Created_at在Laravel Eloquent 中,你可能會遇到需要選擇所有具有最大值的行的場景表中每個唯一的seller_id 的created_at 值。以下是實現此目的的方法:使用原始SQL 查詢一種...
    程式設計 發佈於2024-11-06
  • ReactJS 中的延遲載入:開發人員指南
    ReactJS 中的延遲載入:開發人員指南
    延遲載入是 ReactJS 中一項強大的技術,它允許元件或元素僅在需要時才加載,從而增強了 Web 應用程式的效能。在本文中,我們將探討延遲載入的概念、它的好處,以及如何使用內建的React.lazy() 和React.Suspense 特徵。   什麼是延遲載入? 延遲載入是We...
    程式設計 發佈於2024-11-06

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3