代码之家  ›  专栏  ›  技术社区  ›  Tesh Aych

react axios URL连接返回404未找到

  •  0
  • Tesh Aych  · 技术社区  · 2 年前

    我试图根据来自的记录id显示动态数据 useParams 钩子变量 id .但是当我连接 身份证件 值,它返回 not found 404 错误虽然 身份证件 值作为有效id返回时,我控制台它,连接不起作用。

    这是我的密码

    import React, { useEffect, useRef, useState } from "react";
    import SignaturePad from "react-signature-canvas";
    import offer from "./assets/offer.PNG";
    import { Document, Page } from "react-pdf";
    // Import the main component
    import { Viewer } from "@react-pdf-viewer/core"; // install this library
    // Plugins
    import { defaultLayoutPlugin } from "@react-pdf-viewer/default-layout"; // install this library
    // Import the styles
    import "@react-pdf-viewer/core/lib/styles/index.css";
    import "@react-pdf-viewer/default-layout/lib/styles/index.css";
    // Worker
    import { Worker } from "@react-pdf-viewer/core"; // install this library
    
        import axios from "axios";
        import { useParams } from "react-router-dom";
        const Signature = (props) => {
          const id = useParams();
          const [numPages, setNumPages] = useState(null);
          const baseURL = "http://127.0.0.1:8000/rent/" + id;
          const [datas, setData] = useState([]);
        
          useEffect(() => {
            axios
              .get(baseURL)
              .then((response) => {
                setData(response.data);
              })
              .then(
                (response) => {},
                (err) => {
                  console.log("No Data To Show");
                }
              )
              .catch((err) => {
                return false;
              });
          }, []);
          // Create new plugin instance
          const defaultLayoutPluginInstance = defaultLayoutPlugin();
          console.log(docId);
          return (
            <div className="p-10 flex flex-col space-y-24 font-serif justify-center items-center">
              <img src={imgg} />
        
              {datas?.file && (
                <>
                  <Worker workerUrl="https://unpkg.com/pdfjs-dist@2.6.347/build/pdf.worker.min.js">
                    <Viewer
                      fileUrl={datas?.file}
                      plugins={[defaultLayoutPluginInstance]}
                    />
                  </Worker>
                </>
              )}
            </div>
          );
        };
        
        export default Signature;
    

    以下是 身份证件 这是动态变化的。

    enter image description here

    但当我传递 身份证件 如下所示,它运行良好。

    const baseURL =
        "http://127.0.0.1:8000/rent/ce779e1d-3afb-4aa7-82e8-5bf74c4af0a7";
    

    但是当我连接 身份证件 它返回的变量 404 not found 错误

    const baseURL =
        "http://127.0.0.1:8000/rent/"+id;
    

    我犯了什么错?

    1 回复  |  直到 2 年前
        1
  •  0
  •   Damian Cyntler    2 年前

    useParams React Router的钩子返回一个带有参数的对象。

    你应该使用这样的东西:

    const { id } = useParams();
    

    如果你的参数被调用 id .

    更多信息请参见以下文档: https://v5.reactrouter.com/web/api/Hooks/useparams