当前位置: 首页 > 面试题库 >

通过React获取Cookie

袁单鹗
2023-03-14
问题内容

我需要知道我的用户是否已连接。为此,我想读取在服务器端通过express-session设置的cookie:

app.use(session({

    secret: 'crypted key',

    resave: false,

    saveUninitialized: true,

    cookie: { secure: false } // Put true if https

  }))


app.post('/connect_user', (req, res) => {

    req.session.cookie.username = req.body.username

    findUserData('username', req.body.username, req, (userData) => {

        req.session.cookie.id = userData.id

        req.session.cookie.username = userData.username

        res.redirect('/profil')

    })

})

我尝试使用react-cookie,但是它不起作用,但是我复制/粘贴了npm react-cookie doc:

import React from 'react';

import Landing from './Landing';

import Home from './Home';

import Profil from './Profil';

import {BrowserRouter as Router, Route} from 'react-router-dom'

import { instanceOf } from 'prop-types';

import { Cookies } from 'react-cookie';





class App extends React.Component {

    static propTypes = {

        cookies: instanceOf(Cookies).isRequired

      };



      constructor(props) {

        super(props);



        const { cookies } = props;

        this.state = {

          username: cookies.get('username')

        };

      }

    render() {

        console.log(this.state.name)

        let homePage = (!this.state.username) ? <Landing/> : <Home/>

        return (

            <Router>

                <div>

                    <Route exact path='/' component={homePage}></Route>

                    <Route path='/profil' component={Profil}></Route>

                </div>

            </Router>

        )

    }

}



export default App;

这很奇怪,因为可以document.cookie呈现正确的结果,但是我不知道如何处理:PHPSESSID=0nv9ic8h7pv2b63lu4v7eg3mop; user_id=21; username=Ugo; SL_G_WPT_TO=fr; SL_GWPT_Show_Hide_tmp=undefined; SL_wptGlobTipTmp=undefined


问题答案:

您可以使用js-cookie软件包,也可以使用npm install js-cookie --save命令进行安装

import React from 'react';
import Cookies from 'js-cookie';

class App extends React.Component {
     this.state = {
        username: Cookies.get('username')
     }

//  more code....
}

文档:https : //github.com/js-
cookie/js-cookie

NPM:https :
//www.npmjs.com/package/js-cookie



 类似资料:
  • 我是反应和烧瓶API系统的新手。我创建了一个网站,允许用户通过搜索栏进行搜索。我希望能够通过POST请求将查询从React搜索栏发送到FlaskAPI。但是,我得到一个空字符串或ImmutableDict 反应码 烧瓶代码 回答如下:获取烧瓶请求中收到的数据 我尝试了所有这些方法,但是我总是(在烧瓶中)得到一个空字符串,除非我使用返回给我类似的东西: 然而,在webconsole中,我得到: 我假

  • 我有一个和我自己的

  • 我必须从自定义帖子类型返回所有帖子,由'start_date'从'ACF字段'。 我有一些有日期的帖子,还有一些没有日期的帖子。当我添加“orderby”时= 这是我的代码: 如果我删掉 我所有的帖子都被退回,但它们不是按开始日期排序的 有什么想法吗? 谢谢。

  • 问题内容: 如何使用SQLAlchemy从表中选择一个或多个随机行? 问题答案: 这在很大程度上是特定于数据库的问题。 我知道PostgreSQL,SQLite,MySQL和Oracle可以通过随机函数进行排序,因此可以在SQLAlchemy中使用它: 接下来,您需要通过所需的记录数来限制查询(例如使用)。 请记住,至少在PostgreSQL中,选择随机记录会带来严重的性能问题。这是一篇很好的文章

  • 本文向大家介绍magento 通过SKU获取产品,包括了magento 通过SKU获取产品的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 嗨,我一直在到处寻找一个非常简单的解释,如何通过xPath找到一个元素。 我想要的只是一种简单的方法来寻找一个元素,但是我想要找到的所有帮助都需要一个。这对我不管用。以下是我想做的: 加载URL 这是我的代码: 当我执行 我得到未定义时,我做 有没有更简单的方法来获取元素?也许是。。。。