首页 > 解决方案 > 如何将 authToken 设置为 localStorage

问题描述

在 React 中登录存在一个误解。

我发出请求,然后用hashlogin, password得到响应。

我必须保存在 localStorage 或 sessionStorage 中的哈希值,它取决于登录表单中的(记住与否)复选框选项。

我订阅了商店,并将我的哈希保存到 localStore(或 sessionStore)

store.subscribe(() => saveStorage(store.getState()));

function saveStorage({ logInfo }) {
    const state = {
        logInfo
    };

    try {
        const serializedState = JSON.stringify(state);

        if (sessionStorage.getItem('session')) {
            return sessionStorage.setItem('state', serializedState);
        }

        localStorage.setItem('state', serializedState);
    } catch (e) {
        console.log(e)
    }
}

在 logInfo - 我有哈希、用户名等。

一切正常,但我确信这样保存它不是正确的方法,因为每次路由链接更改都会 store.subscribe一次又一次地执行

请向我解释如何以正确的方式制作它..

标签: reactjsreact-reduxreact-routerlocal-storage

解决方案


推荐阅读