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

MERN栈useState更新数据后前端无展示问题排查

问题排查与修复方案

核心问题1:useState解构方式错误

在UserPlaces.js中,错误使用对象解构获取useState返回值:

const {loadedPlaces, setLoadedPlaces} = useState();

useState返回的是数组,必须用数组解构,同时建议初始化空数组避免后续判断异常:

const [loadedPlaces, setLoadedPlaces] = useState([]);

错误解构会导致loadedPlaces和setLoadedPlaces均为undefined,无法正常更新状态和渲染数据。

核心问题2:后端返回字段与前端取值不匹配

你明确说明console.log(responseData.places)数据正确,但代码中却取值responseData.bus_stops:

console.log(responseData.bus_stops)
setLoadedPlaces(responseData.bus_stops);

需修改为匹配后端返回的字段:

console.log(responseData.places)
setLoadedPlaces(responseData.places);

问题3:PlaceItem的className语法错误

在PlaceItem.js中,<li>标签的className存在语法错误,多余引号和等于号会导致元素样式失效或无法正常渲染:

<li className='&quot;place=item'> 

修正为正确类名:

<li className='place-item'> 

潜在优化补充

在UserPlaces.js的返回逻辑中,可补充加载完成但无数据的提示,避免页面空白:

{!isLoading && loadedPlaces.length === 0 && (
  <div className="center">
    <p>暂无相关数据</p>
  </div>
)}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 03:20:24