polemius / recoil-persist

Package for recoil state manager to persist and rehydrate store

Home Page:https://polemius.dev/recoil-persist/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Can I hash data before persist in local storage ?

tarzui opened this issue · comments

Do you have an example use case?

You could pass Storage implementation to recoilPersist as storage, and change behavior of getItem and setItem.
For example this storage encode everything in base64 and save it in localstorage. On read get the value from localstorage, decode and return it:

import { encode, decode } from 'js-base64';

const localStorageBase64 = () => {
  return {
    setItem: (key, value) => {
      localStorage.setItem(key, encode(value))
    },
    getItem: (key) => {
      const a =  localStorage.getItem(key)
      return decode(a || '')
    },
    clear: () => {
      localStorage.clear()
    },
  }
}

const { persistAtom } = recoilPersist({ key: 'abc1234', storage: localStorageBase64() })