React 页面请求成功但数据没刷新,新人最容易忽略的几个坑
问题现象 刚入行的开发经常会碰到这种情况:接口明明返回了新数据,Network 里也能看到 200 OK,但页面还是旧内容。刷新浏览器后数据又正常了。我在美国做了十多年软件开发,这类问题在后台系统、电商管理台、CRM、SaaS 面板里都见过。最麻烦的不是接口坏了,而是前端状态、缓存、引用地址、组件更新逻辑混在一起,新人很容易只盯着 API,看半天找不到点。 原因分析 第一,React 状态没有真正变。比如直接修改数组或对象,再 setState 回去,引用地址没变,React 不一定按你预期重新渲染。第二,请求成功了,但更新的是错的状态。页面显示的是 tableData,你却更新了 rawData,或者子组件拿的是旧 props。第三,缓存层没刷新。很多项目用 React Query、SWR、Redux Toolkit Query,接口成功后如果没有 invalidate 或重新拉取,页…