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

RTK Query POST请求可执行但不修改数据,配置标签仍无效

问题分析与解决方案

核心原因:JSONPlaceholder的模拟特性

你用的https://jsonplaceholder.typicode.com是个模拟REST API,它的POST请求不会真的在服务器上创建或修改数据——只会返回一个带模拟id的响应,但服务器端的实际数据完全没变化。这就是为啥你执行POST后重新GET还是旧数据,和RTK的tags配置没关系。

代码里的小笔误修正

你的slice代码末尾有个错误:

// 错误:你定义的是verdeApiSlice,不是verdeSlice
export default verdeSlice.reducer;
// 改成这个才对
export default verdeApiSlice.reducer;

确认POST请求是否成功的方式

虽然JSONPlaceholder不会改真实数据,但你可以通过返回的响应确认请求是否正常:

const handleClick = async (e) => {
  e.preventDefault();
  try {
    const mockPost = await addPost(post).unwrap();
    console.log("模拟生成的post:", mockPost); // 这里能看到带自动生成id的模拟数据
    setPost(initialValue);
  } catch (error) {
    console.log("error", error);
  }
};

测试真实数据修改的方法

要验证RTK Query的invalidatesTags是否生效,得用真正会修改数据的API,或者自己搭个简单的本地后端(比如Express),这样POST后服务器数据确实更新,RTK Query才会触发重新获取,你就能看到数据变化了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 17:18:10