You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React中如何将userNameApp转为字符串存入MongoDB数据库?

解决方法

你的问题核心是错误使用了useState——useState返回的是包含状态值和更新函数的数组,而非直接返回字符串。虽然控制台看起来输出了名字,但实际userNameApp是数组,不符合数据库String类型的要求。

方案1:无需状态管理(推荐,仅用于固定拼接值)

直接将拼接结果赋值为字符串,不需要用useState包裹:

var userInfo = JSON.parse(window.localStorage.getItem('current-session'));
// 直接拼接成字符串
const userNameApp = userInfo['fname'] + " " + userInfo['lname'];
console.log(userNameApp);

// 提交数据(注意修正原代码多出来的括号)
Axios.post("http://localhost:3001/insertActiveUser", { userNameApp: userNameApp });

方案2:若需用状态管理该值

如果后续需要修改userNameApp,用解构语法取出useState返回的实际字符串值:

var userInfo = JSON.parse(window.localStorage.getItem('current-session'));
// 解构出状态值和更新函数
const [userNameApp, setUserNameApp] = useState(userInfo['fname'] + " " + userInfo['lname']);
console.log(userNameApp); // 此处输出纯字符串

// 提交时直接传入状态值
Axios.post("http://localhost:3001/insertActiveUser", { userNameApp: userNameApp });

额外修正:提交代码的语法错误

原代码中Axios.post末尾多了一个闭合括号,会导致语法报错,需要去掉多余的)。

内容的提问来源于stack exchange,提问作者John Ezkiel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 06:31:06