对 JSONPlaceholder 的 POST 请求在后续获取中未生效

2023-12-01

我已经使用 typecode 使用 get 方法对帖子进行了排序。现在我想使用 post 方法自己添加它。我怎样才能正确地做到这一点?

这里的问题是,即使发布了,也不会出现在帖子列表中。当我自己添加并在排名中看到它时,我希望它出现在所有帖子中。我该怎么做?

import axios from "axios";
import React from "react";
import { useState } from "react";
import { useNavigate } from "react-router-dom";
const Form = ({ mainData, setData }) => {
  const [formData, setFormData] = useState({
    title: "",
    body: "",
  });

  const history = useNavigate();

  const onChange = (e) => {
    setFormData({[e.target.name]: e.target.value });
  };

  const onSubmit = (e) => {
    e.preventDefault();
    history("/");
    axios
      .post("https://jsonplaceholder.typicode.com/posts", formData)
      .then((res) => {
        console.log(res);
      });
  };
  return (
    <form onSubmit={onSubmit}>
      <input
        type="text"
        placeholder="your title"
        name="title"
        value={formData.title}
        onChange={onChange}
      />
      <input
        type="text"
        placeholder="body"
        name="body"
        value={formData.body}
        onChange={onChange}
      />
      <button type="submit">Submit</button>
    </form>
  );
};

export default Form;
import React from "react";
import axios from "axios";
import { useEffect, useState } from "react";
import { NavLink } from "react-router-dom";

const Posts = ({mainData, setData}) => {

  useEffect(() => {
    axios
      .get("https://jsonplaceholder.typicode.com/posts")
      .then((res) => res)
      .then((res) => {
        setData(res.data);
        console.log(mainData);
      });
  }, []);
  return (
    <>
      <NavLink to="/new">Add new post</NavLink>
      {mainData?.map((item, index) => (
        <h4 key={index}>
          {item.id} : {item.title}
        </h4>
      ))}
    </>
  );
};

export default Posts;
import React, {useState} from "react";
import { BrowserRouter, Route, Routes } from "react-router-dom";
import Form from "../Form";
import Posts from "../Posts";
const Rout = () => {

  const [mainData, setData] = useState([]);

  return (
    <BrowserRouter>
      <Routes>
        <Route path="/" element={<Posts mainData={mainData} setData={setData}/>} ></Route>
        <Route path="/new" element={<Form mainData={mainData} setData={setData}/>}></Route>
      </Routes>
    </BrowserRouter>
  );
};

export default Rout;

A post向 JSONPlaceholder 发出的请求只是为了测试,它并没有真正在其数据库中注册。这是他们的引述doc:

重要提示:资源不会在服务器上真正更新,但会被伪造。

当您重定向到"/", Posts将获取数据,但它不会包含您刚刚添加的内容Form.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对 JSONPlaceholder 的 POST 请求在后续获取中未生效 的相关文章

  • Jasmine-jQuery loadFixtures 未定义

    我对整个茉莉花的事情仍然很陌生 在过去的几个小时里我陷入了这个问题 我尝试使用 loadFixture 加载外部夹具文件 我使用 Jasmine 2 0 0 和 Jasmine jQuery 2 0 5 ReferenceError loa
  • ajaxStop() 不触发

    这是不起作用的代码 document ajaxStop function this unbind ajaxStop prevent running again when other calls finish Display everythi
  • 打开 md-calendar 时滚动到当前日期

    目前正在构建一个使用 Angular Material 的应用程序 我们需要一个 md calendar 组件 我们想要自定义按钮样式和内容 因此不使用普通的 md datepicker 问题是 当 md calender 打开时 滚动位置
  • Jest - 模拟函数,从另一个文件导入

    测试的文件使用从另一个文件导入的函数 import myFunc from myFile 如何在该文件的测试中模拟该函数的返回值 我正在使用笑话 这对我有用 我不确定这是否是一个好的做法 import as myFile from myFi
  • 为什么 length 是 `Array` 的属性而不是 `Array.prototype` 链

    所以我在 V8 控制台上玩了很多 我做到了 Object getOwnPropertyNames 我期望得到 结果 然而 length 所以这意味着不是成为原型链的一部分 length是所有人的成员财产Array对象 这是一个错误 还是有任
  • 使用 JavaScript 生成 PDF 文件

    我正在尝试将 XML 数据从网页转换为 PDF 文件 并且希望能够完全在 JavaScript 中完成此操作 我需要能够绘制文本 图像和简单的形状 我希望能够完全在浏览器中完成此操作 我刚刚写了一个名为jsPDF https github
  • 通过JS Laravel访问存储目录

    有没有办法访问storage目录 该目录已经链接到publicJS 中的目录 我正在尝试制作一个上传图片的表单 验证脚本 if request gt hasFile photos marker gt photos request gt ph
  • 判断一个数字是否能被 3 或 5 整除 (FizzBu​​zz)

    如何根据输出是否能被 3 或 5 整除来更改输出 如果它能被 3 整除 我想显示 rock 如果它能被 5 整除 我想显示 star 类似于 FizzBu zz 如果两者都有 他们都会看到 这是我的代码 if var n Math floo
  • 循环遍历元素并逐步为每个元素应用 CSS 规则

    我有一个网格布局 每个网格布局中都有不同数量的元素 我想动态添加内联grid column通过循环遍历 div 中存在的每个元素的 CSS 规则 ul 与一类 list 所以 HTML 代码的输出需要是 ul class list ul u
  • 如何从 JSON 响应重定向?

    所以我尝试使用 Flask 和 Javascript 上传器 Dropzone 上传文件并在上传完成后重定向 文件上传正常 但在烧瓶中使用传统的重定向 return redirect http somesite com 不执行任何操作 页面
  • jQM / jquery-collagePlus 使用问题

    我正在使用 jQM 构建应用程序 并且尝试使用 jquery collagePlus http ed lea github io jquery collagePlus http ed lea github io jquery collage
  • 如何调用 google 的 getBasicProfile() 来仅单击按钮即可登录 google?

    我在我的网站上使用谷歌登录
  • 如何更改自动完成中的结果过滤器?

    我不想进行字面匹配 而是想通过正则表达式选择结果 我可以覆盖自动完成的默认行为来完成此任务还是需要替代结构 有一个内置的方法可以做到这一点 只需提供一个函数source http jqueryui com demos autocomplet
  • 在 React Navigation 中将 props 传递给自定义抽屉导航器

    在反应导航抽屉菜单中 我想显示用户名 John Doe 它处于我的主要组件的状态 Router 我怎样才能将自定义抽屉内容组件传递给它 额外信息 我从 AsyncStorage 中获取此名称 组件已挂载 这是我的代码 export defa
  • 如何打开弹出窗口并用父窗口中的数据填充它?

    如何使用 JavaScript jQuery 使用父页面中 JS 变量的数据填充弹出窗口 在我的示例中 我有一个文件名数组 我在父窗口中最多列出五个 如果还有更多 我想提供一个链接来打开弹出窗口并列出数组中的每个帖子 因此 如果我打开一个包
  • 禁用特定 div 上的 Tab 键

    我有以下结构 div div Some content div div Some content div div 我想 禁用 div2 上的 tab 键 我的意思是按下 tab 键时 div2 的元素不会获得焦点 有没有简单的方法可以使用
  • Ember Data 中出现“超出最大调用堆栈大小”错误的原因可能是什么?

    Ember 发布新版本 3 6 0 后 我开始在控制台中收到错误 rsvp js 24 未捕获 RangeError 超出最大调用堆栈大小 在 WeakMap get 在 getCacheFor metal js 25 在 Computed
  • 从 DirectionsRenderer 中获取折线或标记的事件

    我正在使用 DirectionsService 和路线方法来生成 DirectionsResult 我还使用 DirectionsRenderer 对象来显示结果 因为它非常易于使用 我在检测 Directions changed 事件时没
  • 强制输入数字小数位

    我想强制
  • 从输入类型编号获取无效值

    我正在使用输入类型数字 当它无效时 我如何从中获取值 例如 使用类型编号并仅打印 e 这本身是无效的 我正在使用 React 但我认为这个问题非常普遍 onChange event console log event target valu

随机推荐

  • 反转字母表

    我正在尝试修改一段文本以应用以下翻译 before abcdefghijqlmnopqrstuvwxyz after zyxwvutsrqponmlkjihgfedcba 也就是说 每个a成为一个z each b成为一个y each c成为
  • 为什么不鼓励在 Java EE 容器中生成线程?

    关于 Java EE 开发 我学到的第一件事就是我不应该在 Java EE 容器内生成自己的线程 但转念一想 我又不知道原因 你能清楚地解释一下为什么不鼓励吗 我确信大多数企业应用程序都需要某种异步作业 例如邮件守护程序 空闲会话 清理作业
  • 为什么有序列表的 sapply 会输出我的内容两次

    我使用以下代码将文件列表存储在列表中 filesList lt list files path Users myPath data pattern csv 然后我想在没有索引的情况下输出它 通常以形式出现 1 在每一行的开头 所以我尝试了这
  • R 中的环境、mapply 和 get

    Let x lt 2在全局环境中 x lt 2 x 1 2 Let a是一个定义另一个函数的函数x本地并使用get a lt function x lt 1 get x 该函数正确得到x从当地环境来看 a 1 1 现在我们定义一个函数b如下
  • Fluentd apache 格式 [警告]:模式不匹配:

    在我的 etc Fluent Fluent conf 中
  • 如何在不使用 FilePicker 的情况下在固定位置保存和加载 InkCanvas gif 文件

    我想保存并加载InkCanvas gif文件没有FilePicker I saw a sample using FilePicker 但我想保存gif当我单击 保存 按钮时自动文件 例如 当我保存 1InkCanvas gif file 然
  • 安装 PyOpenGLContext 时出现问题(语法错误)

    我最近决定用 python 学习 OpenGL 我使用安装了 PyOpenGLpip3 install PyOpenGl PyOpenGl accelerate 然后我正要遵循一个教程对于 PyOpenGL 第一项是安装 PyOpenGLC
  • 带有垂直行的 HTML 表格

    如何在 HTML 中制作垂直表格 垂直 我的意思是行将垂直 表标题位于左侧 我还需要它的方式 这样我就可以像在普通表中一样访问这些行 在本例中是垂直的 tr 这是因为我动态获取一行的数据 如 A 行 并将其插入表中 我使用 angularJ
  • 将时间格式设置为“24 小时军用时间”?

    我正在将一些 SQL Server 2000 代码更新到 SQL Server 2008R2 并且有一个看起来很像的函数this用于将时间转换为 24 小时格式 在 T SQL 中执行此操作的更酷 更聪明的方法是什么 如果你想要的只是军事时
  • 对不同类型对象的列表进行排序

    我有一个对象列表 其中包含不同类型的对象 但单个属性在所有对象中都是通用的 列表包含 Field 类 Button 类 Page 类等对象 但其中一个属性是通用的 即 sequence no 我想根据 sequence no 对该列表进行排
  • NPM 包错误 - 'newman' 未被识别为内部或外部命令

    我已在我的 64 位 Win 10 计算机中安装了最新版本的 Newman 3 10 0 C Users ABC gt npm install g newman C Users ABC AppData Roaming npm newman
  • 将方法传递给后台工作者 dowork

    在下面的代码中 有没有一种方法可以不总是订阅 updateWorker DoWork 方法 而是向其传递这样的方法 public void GetUpdates SomeObject blah updateWorker DoWork new
  • ImageMagick 中的字体渲染缓慢

    我正在使用以下 ImageMagick 脚本 使用 Imagick for PHP 来生成字体图像 该脚本大约需要 0 1 秒来生成约 30 个字符 大小为 48 的图像 目标速度约为 0 01 秒 恐怕切换到 GD 库可能是实现这一目标的
  • 如何使用jBcrypt检查bcrypt密码? (将存储从 Parse.com 移至 Firebase)

    一些开发人员需要将存储从 parse com 移动到另一台服务器 当我从解析导出数据时 我得到了 json 数据 此 json 数据具有加密密码 bcrypt 例如 2a 10 pcR4SaZd3PMD nXQKMssxupMLncDoFw
  • 为什么 NLTK NaiveBayes 分类器会对一条记录进行错误分类?

    这是我第一次使用 Python 中的 nltk NaiveBayesClassifier 构建情感分析机器学习模型 我知道这个模型太简单了 但这对我来说只是第一步 下次我会尝试标记化句子 我当前模型的真正问题是 我已在训练数据集中将 坏 一
  • 在 Python 中循环 XML

    我的数据集如下
  • 如何限制 Ingres 中任意查询的结果集大小?

    在 Oracle 中 可以通过过滤 虚拟 来限制任意查询中返回的行数rownum柱子 考虑以下示例 它将最多返回 10 行 SELECT FROM all tables WHERE rownum lt 10 有没有一种简单 通用的方法可以在
  • Jquery对话框问题

    大家好 我正在开发一个 MVC 应用程序 我想使用 Jquery 对话框 我有以下情况 我有 Telerik 树视图 当我单击任何节点时 我希望打开对话框并显示有关该节点的信息 首先 我添加以下脚本来初始化对话框 document read
  • 更快的算法来更改位图中的色相/饱和度/亮度

    我正在尝试过滤位图图像以增加或减少色相 饱和度和亮度值 我的代码运行完美 但是它很慢 我在内存中锁定了两个位图 原始源和当前目标 用户可以移动各种trackbar控件修改每个值 然后将其转换为 HSL 值 例如 轨迹栏上的值对应于 1 0
  • 对 JSONPlaceholder 的 POST 请求在后续获取中未生效

    我已经使用 typecode 使用 get 方法对帖子进行了排序 现在我想使用 post 方法自己添加它 我怎样才能正确地做到这一点 这里的问题是 即使发布了 也不会出现在帖子列表中 当我自己添加并在排名中看到它时 我希望它出现在所有帖子中