Node.js 如何从localStorage获取用户ID
我正试图建立一个博客,在某个端点上,我只想列出由特定用户创建的所有博客,因此我将用户信息存储在本地存储中,并尝试获取相同的用户名,以便我可以将用户名发送到后端,以获得由该特定用户名发布的博客 设置cookieNode.js 如何从localStorage获取用户ID,node.js,reactjs,express,local-storage,next.js,Node.js,Reactjs,Express,Local Storage,Next.js,我正试图建立一个博客,在某个端点上,我只想列出由特定用户创建的所有博客,因此我将用户信息存储在本地存储中,并尝试获取相同的用户名,以便我可以将用户名发送到后端,以获得由该特定用户名发布的博客 设置cookie // get cookie export const getCookie = key => { if (process.browser) { return cookie.get(key); } }; 从“js cookie”导入cookie expo
// get cookie
export const getCookie = key => {
if (process.browser) {
return cookie.get(key);
}
};
从“js cookie”导入cookie代码>
export const setCookie = (key, value) => {
if (process.browser) {
cookie.set(key, value, {
expires: 1
});
}
};
拿饼干
// get cookie
export const getCookie = key => {
if (process.browser) {
return cookie.get(key);
}
};
设置本地存储
export const setLocalStorage = (key, value) => {
if (process.browser) {
localStorage.setItem(key, JSON.stringify(value));
}
};
伊萨特行动
export const isAuth = () => {
if(process.browser ) {
const cookieChecked = getCookie('token')
if(cookieChecked){
if(localStorage.getItem('user')){
return JSON.parse(localStorage.getItem('user'))
}else{
return false;
}
}
}
}
这是我存储在本地存储器中的信息
{_id: "5ece659149421c1f18c0c756", username: "2asjvwxkq", name: "test3", email: "test3@gmail.com", role: 0}
email: "test3@gmail.com"
name: "test3"
role: 0
username: "2asjvwxkq"
_id: "5ece659149421c1f18c0c756"
我试过做const username=isAuth()&&isAuth()。username
但它正在返回未定义的
我想将username
作为道具发送到组件,但变量username
正在获取未定义的值
更新:
JSON.stringify(username)
为我提供用户名,但我无法将其发送到后端
Hı
我为你做的很简单。我认为问题在于json.parse
方法。
看看我的例子
export const isAuth = () => {
if (localStorage.getItem('user')) {
return localStorage.getItem('user');
} else {
return false;
}
}
在我的app.js中
import React from 'react';
import logo from './logo.svg';
import './App.css';
import {isAuth} from './isAuth'
function App() {
localStorage.setItem('user', 'bahtiyar');
const userName=isAuth();
return (
<div className="App">
<div>{userName}</div>
</div>
);
}
export default App;
从“React”导入React;
从“/logo.svg”导入徽标;
导入“/App.css”;
从“/isAuth”导入{isAuth}
函数App(){
setItem('user','bahtiyar');
const userName=isAuth();
返回(
{userName}
);
}
导出默认应用程序;
查找结果:
试着去做
建议1:
const username=isAuth()?isAuth()。用户名:“”
或在必要时使用useffect()
建议2:
直接调用函数,而不是发送道具
isAuth()
在您首先要发送的组件内部(如果这样做不会影响任何事情),并且只是为了调试,请尝试执行JSON.stringify(user)
如何设置本地存储中的项?如果你得到了答案,可能钥匙错了undefined@topched请参阅更新的问题,该问题没有显示您为本地存储传入的密钥。(Chrome)如果您右键单击,然后选择inspect,转到应用程序选项卡并选择左侧的本地存储,您将能够看到上面的键是什么。在代码中添加一个断点,然后查看发生了什么情况您正在浏览器或节点中运行代码吗?不,它不工作,请查看更新的问题