Taro 本地储存storage hook 封装

阅读 23

2022-05-05

import { setStorageSync, getStorageSync, removeStorageSync } from "@tarojs/taro";
import { useCallback, useState } from "react";



export function useStorage() {
    const [historyStorage, setStorage] = useState([])

    const useSetStorage = useCallback((value) => {
        const historyItem = Array.from(new Set(historyStorage.concat([value])))
        setStorage(historyItem)
        setStorageSync('history', historyItem)
    }, [historyStorage])

    const useGetStorage = useCallback(() => {
        setStorage(getStorageSync('history') || [])
    }, [])

    const useRemoveStorage = useCallback(() => {
        setStorage([])
        removeStorageSync('history')

    }, [])

    return {
        historyStorage,
        useSetStorage,
        useGetStorage,
        useRemoveStorage
    }
}

精彩评论(0)

0 0 举报