AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當(dāng)前位置:首頁 > 科技  > 軟件

20k級別前端是怎么使用LocalStorage的,想知道嗎?

來源: 責(zé)編: 時間:2024-03-26 17:40:54 187觀看
導(dǎo)讀前言大家好,我是林三心,用最通俗的話,講最難的知識點是我的座右銘,基礎(chǔ)是進(jìn)階的前提是我的初心,今天就給大家嘮一下嗑,講一下,怎么樣使用localStorage、sessionStorage,才能更規(guī)范,更高大上,更能讓人眼前一亮。用處在平時的開發(fā)

前言

大家好,我是林三心,用最通俗的話,講最難的知識點是我的座右銘,基礎(chǔ)是進(jìn)階的前提是我的初心,今天就給大家嘮一下嗑,講一下,怎么樣使用localStorage、sessionStorage,才能更規(guī)范,更高大上,更能讓人眼前一亮。Bcg28資訊網(wǎng)——每日最新資訊28at.com

用處

在平時的開發(fā)中,localStorage、sessionStorage的用途是非常的多的,在我們的開發(fā)中發(fā)揮著非常重要的作用:Bcg28資訊網(wǎng)——每日最新資訊28at.com

1、登錄完成后token的存儲Bcg28資訊網(wǎng)——每日最新資訊28at.com

2、用戶部分信息的存儲,比如昵稱、頭像、簡介Bcg28資訊網(wǎng)——每日最新資訊28at.com

3、一些項目通用參數(shù)的存儲,例如某個id、某個參數(shù)paramsBcg28資訊網(wǎng)——每日最新資訊28at.com

4、項目狀態(tài)管理的持久化,例如vuex的持久化、redux的持久化Bcg28資訊網(wǎng)——每日最新資訊28at.com

5、項目整體的切換狀態(tài)存儲,例如主題顏色、icon風(fēng)格、語言標(biāo)識Bcg28資訊網(wǎng)——每日最新資訊28at.com

6、等等、、、、、、、、、、、、、、、、、、、、、、、、、、Bcg28資訊網(wǎng)——每日最新資訊28at.com

普通使用

那么,相信我們各位平時使用都是這樣的(拿localStorage舉例)Bcg28資訊網(wǎng)——每日最新資訊28at.com

1、基礎(chǔ)變量

// 當(dāng)我們存基本變量時localStorage.setItem('基本變量', '這是一個基本變量')// 當(dāng)我們?nèi)≈禃rlocalStorage.getItem('基本變量')// 當(dāng)我們刪除時localStorage.removeItem('基本變量')

2、引用變量

// 當(dāng)我們存引用變量時localStorage.setItem('引用變量', JSON.stringify(data))// 當(dāng)我們?nèi)≈禃rconst data = JSON.parse(localStorage.getItem('引用變量'))// 當(dāng)我們刪除時localStorage.removeItem('引用變量')

3、清空

localStorage.clear()

暴露出什么問題?

1、命名過于簡單

  • 比如我們存用戶信息會使用user作為 key 來存儲
  • 存儲主題的時候用theme 作為 key 來存儲
  • 存儲令牌時使用token作為 key 來存儲 其實這是很有問題的,咱們都知道,同源的兩個項目,它們的localStorage是互通的。

我舉個例子吧比如我現(xiàn)在有兩個項目,它們在同源https://www.sunshine.com下,這兩個項目都需要往localStorage中存儲一個 key 為name的值,那么這就會造成兩個項目的name互相頂替的現(xiàn)象,也就是互相污染現(xiàn)象:Bcg28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Bcg28資訊網(wǎng)——每日最新資訊28at.com

2、時效性

咱們都知道localStorage、sessionStorage這兩個的生命周期分別是Bcg28資訊網(wǎng)——每日最新資訊28at.com

  • localStorage:除非手動清除,否則一直存在
  • sessionStorage:生命結(jié)束于當(dāng)前標(biāo)簽頁的關(guān)閉或瀏覽器的關(guān)閉

其實平時普通的使用時沒什么問題的,但是給某些指定緩存加上特定的時效性,是非常重要的!比如某一天:Bcg28資訊網(wǎng)——每日最新資訊28at.com

  • 后端:”兄弟,你一登錄我就把token給你“
  • 前端:”好呀,那你應(yīng)該會順便判斷token過期沒吧?“
  • 后端:”不行哦,放在你前端判斷過期唄“
  • 前端:”行吧。。。。。“

那這時候,因為需要在前端判斷過期,所以咱們就得給token設(shè)置一個時效性,或者是1天,或者是7天Bcg28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Bcg28資訊網(wǎng)——每日最新資訊28at.com

3、隱秘性

其實這個好理解,你們想想,當(dāng)咱們把咱們想緩存的東西,存在localStorage、sessionStorage中,在開發(fā)過程中,確實有利于咱們的開發(fā),咱們想看的時候也是一目了然,點擊Application就可以看到。Bcg28資訊網(wǎng)——每日最新資訊28at.com

但是,一旦產(chǎn)品上線了,用戶也是可以看到緩存中的東西的,而咱們肯定是會想:有些東西可以讓用戶看到,但是有些東西我不想讓你看到Bcg28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Bcg28資訊網(wǎng)——每日最新資訊28at.com

或者咱們在做狀態(tài)管理持久化時,需要把數(shù)據(jù)先存在localStorage中,這個時候就很有必要對緩存進(jìn)行加密了。Bcg28資訊網(wǎng)——每日最新資訊28at.com

解決方案

1、命名規(guī)范

我個人的看法是項目名 + 當(dāng)前環(huán)境 + 項目版本 + 緩存key,如果大家有其他規(guī)則的,可以評論區(qū)告訴林三心,讓林三心學(xué)學(xué)Bcg28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Bcg28資訊網(wǎng)——每日最新資訊28at.com

2、expire定時

思路:設(shè)置緩存key時,將value包裝成一個對象,對象中有相應(yīng)的時效時段,當(dāng)下一次想獲取緩存值時,判斷有無超時,不超時就獲取value,超時就刪除這個緩存Bcg28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Bcg28資訊網(wǎng)——每日最新資訊28at.com

截屏2021-11-11 下午9.33.00.pngBcg28資訊網(wǎng)——每日最新資訊28at.com

3、crypto加密

加密很簡單,直接使用crypto-js進(jìn)行對數(shù)據(jù)的加密,使用這個庫里的encrypt、decrypyt進(jìn)行加密、解密Bcg28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Bcg28資訊網(wǎng)——每日最新資訊28at.com

截屏2021-11-11 下午9.43.16.pngBcg28資訊網(wǎng)——每日最新資訊28at.com

實踐

其實實踐的話比較簡單啦,無非就是四步Bcg28資訊網(wǎng)——每日最新資訊28at.com

  • 與團隊商討一下key的格式
  • 與團隊商討一下expire的長短
  • 與團隊商討一下使用哪個庫來對緩存進(jìn)行加密(個人建議crypto-js)
  • 代碼實施(不難,我這里就不寫了)

結(jié)語

有人可能覺得沒必要,但是嚴(yán)格要求自己其實是很有必要的,平時嚴(yán)格要求自己,才能做到每到一個公司都能更好的做到向下兼容難度。Bcg28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-79452-0.html20k級別前端是怎么使用LocalStorage的,想知道嗎?

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 你還在用Mybatis?試試這款神器,縱享絲滑

下一篇: 比 ElasticSearch 快 1000 倍的日志引擎

標(biāo)簽:
  • 熱門焦點
  • 7月安卓手機好評榜:三星S23Ultra好評率第一

    性能榜和性價比榜之后,我們來看最后的安卓手機好評榜,數(shù)據(jù)來源安兔兔評測,收集時間2023年7月1日至7月31日,僅限國內(nèi)市場。第一名:三星Galaxy S23 Ultra好評率:95.71%在即將迎來新
  • Java NIO內(nèi)存映射文件:提高文件讀寫效率的優(yōu)秀實踐!

    Java的NIO庫提供了內(nèi)存映射文件的支持,它可以將文件映射到內(nèi)存中,從而可以更快地讀取和寫入文件數(shù)據(jù)。本文將對Java內(nèi)存映射文件進(jìn)行詳細(xì)的介紹和演示。內(nèi)存映射文件概述內(nèi)存
  • 微信語音大揭秘:為什么禁止轉(zhuǎn)發(fā)?

    大家好,我是你們的小米。今天,我要和大家聊一個有趣的話題:為什么微信語音不可以轉(zhuǎn)發(fā)?這是一個我們經(jīng)常在日常使用中遇到的問題,也是一個讓很多人好奇的問題。讓我們一起來揭開這
  • 只需五步,使用start.spring.io快速入門Spring編程

    步驟1打開https://start.spring.io/,按照屏幕截圖中的內(nèi)容創(chuàng)建項目,添加 Spring Web 依賴項,并單擊“生成”按鈕下載 .zip 文件,為下一步做準(zhǔn)備。請在進(jìn)入步驟2之前進(jìn)行解壓。圖
  • 梁柱接棒兩年,騰訊音樂闖出新路子

    文丨田靜 出品丨牛刀財經(jīng)(niudaocaijing)7月5日,企鵝FM發(fā)布官方公告稱由于業(yè)務(wù)調(diào)整,將于9月6日正式停止運營,這意味著騰訊音樂長音頻業(yè)務(wù)走向消亡。騰訊在長音頻領(lǐng)域還在摸索。為
  • 得物寵物生意「狂飆」,發(fā)力“它經(jīng)濟”

    作者|花花小萌主近日,得物宣布正式上線寵物鑒別,通過得物App內(nèi)的“在線鑒別”,可找到鑒別寵物的選項。通過上傳自家寵物的部位細(xì)節(jié),就能收獲擁有專業(yè)資質(zhì)認(rèn)證的得物鑒
  • 一條抖音4億人圍觀 ! 這家MCN比無憂傳媒還野

    作者:Hiu 來源:互聯(lián)網(wǎng)品牌官01 擦邊少女空降熱搜,幕后推手曝光被網(wǎng)友譽為“純欲天花板”的女網(wǎng)紅井川里予,近期因為一組哥特風(fēng)照片登上熱搜,引發(fā)了一場互聯(lián)網(wǎng)世界關(guān)于
  • 造車兩年股價跌六成,小米的估值邏輯變了嗎?

    如果從小米官宣造車后的首個交易日起持有小米集團的股票,那么截至2023年上半年最后一個交易日,投資者將浮虧59.16%,同區(qū)間的恒生科技指數(shù)跌幅為52.78%
  • 三星獲批量產(chǎn)iPhone 15全系屏幕:蘋果史上最驚艷直屏

    按照慣例,蘋果將繼續(xù)在今年9月舉辦一年一度的秋季新品發(fā)布會,有傳言稱發(fā)布會將于9月12日舉行,屆時全新的iPhone 15系列將正式與大家見面,不出意外的話
Top