在React服务器端应用程序中的localstorage中保存用户会话

时间:2017-08-06 05:17:35

标签: javascript reactjs redux local-storage react-redux

在我的应用中,我想将用户session_id保存在本地存储中。我的应用程序是用React和Redux编写的(使用服务器端渲染)。我从Api获取用户session_id。我想在用户登录我的应用程序时保存session_id? 对此最好的解决办法是什么?

2 个答案:

答案 0 :(得分:0)

从服务器接收时,只需将session_id保存到本地存储。然后在应用程序初始化文件中检查本地存储是否包含任何session_id。如果是,请使用该ID获取用户数据。

由于本地存储是客户端(浏览器)功能,因此无法在后端使用它。

另一种选择可能是将session_id保存到cookie中并在服务器端读取该cookie。这样您就可以验证已经在服务器端的用户。

答案 1 :(得分:0)

您能否分享一下您目前所需的代码,以便更好地理解您的问题。根据我的理解,你想尝试下面的代码。在else语句中,为会话ID发出api请求,然后使用来自api请求的会话ID发出setItem。然后,您将使用名为currentSessionId的变量访问它。

    var currentSessionId;

    if(localStorage.getItem('session_id')){
        currentSessionId = localStorage.getItem('session_id');
    } else {
        localStorage.setItem('session_id','<session id>');
        currentSessionId = localStorage.getItem('session_id');
    }

希望这有帮助!