mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-28 23:43:22 +00:00
chore: Initial Commit
feat: Gestion des inscriptions [#1] feat(frontend): Création des vues pour le paramétrage de l'école [#2] feat: Gestion du login [#6] fix: Correction lors de la migration des modèle [#8] feat: Révision du menu principal [#9] feat: Ajout d'un footer [#10] feat: Création des dockers compose pour les environnements de développement et de production [#12] doc(ci): Mise en place de Husky et d'un suivi de version automatique [#14]
This commit is contained in:
31
Front-End/src/hooks/useLocalStorage.js
Normal file
31
Front-End/src/hooks/useLocalStorage.js
Normal file
@ -0,0 +1,31 @@
|
||||
import { useState } from "react"
|
||||
|
||||
const useLocalStorage = (key, initialValue) => {
|
||||
const [state, setState] = useState(() => {
|
||||
// Initialize the state
|
||||
try {
|
||||
const value = window.localStorage.getItem(key)
|
||||
// Check if the local storage already has any values,
|
||||
// otherwise initialize it with the passed initialValue
|
||||
return value ? JSON.parse(value) : initialValue
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
}
|
||||
})
|
||||
|
||||
const setValue = value => {
|
||||
try {
|
||||
// If the passed value is a callback function,
|
||||
// then call it with the existing state.
|
||||
const valueToStore = value instanceof Function ? value(state) : value
|
||||
window.localStorage.setItem(key, JSON.stringify(valueToStore))
|
||||
setState(value)
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
}
|
||||
}
|
||||
|
||||
return [state, setValue]
|
||||
}
|
||||
|
||||
export default useLocalStorage
|
||||
Reference in New Issue
Block a user