Can I hash data before persist in local storage ?
tarzui opened this issue · comments
Chakri Thongtae commented
Rhys Saldanha commented
Do you have an example use case?
polemius commented
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() })