gpt4 book ai didi

reactjs - 通过react获取cookie

转载 作者:行者123 更新时间:2023-12-03 13:02:52 26 4
gpt4 key购买 nike

我需要知道我的用户是否已连接。为此,我想读取我在服务器端使用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 文档示例:

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

关于reactjs - 通过react获取cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51109559/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com