javascript - 使用react-router-dom v6提交表单后如何重定向到另一个页面并传递数据?

标签 javascript reactjs redirect react-router

我正在尝试使用react-router-dom v6提交表单后重定向到传递数据的另一个页面。当我点击提交时,数据将被提交,应用程序将带我到“下载 PDF”页面,并且表单数据将通过注册页面到“下载 PDF”页面。

示例代码:

确认注册.js

import React, { useState } from "react";
import { Navigate } from "react-router-dom";

const ConfirmRegistration = () => {
  const [name, setName] = useState();
  const [confirm, setConfirm] = useState(false);

  const handleOnChange = (e) => {
    e.preventDefault();
    const value = e.target.value;
    setName(value);
  };
  const handleSubmit = (e) => {
    e.preventDefault();
    setConfirm(true);
    console.log(name);
  };

  if (confirm) {
    return (
      <Navigate
        to={{
          pathname: "/download-pdf",
        }}
      />
    );
  }

  return (
    <div>
      <form onSubmit={handleSubmit}>
        <input
          type='text'
          name='name'
          placeholder='input text here'
          onChange={handleOnChange}
        />
        <button type='submit'>Submit</button>
      </form>
    </div>
  );
};

export default ConfirmRegistration;

下载Pdf.js

import React from "react";

const DownLoadPdf = () => {
  return (
    <div>
      <p>DownLoad Pdf</p>
    </div>
  );
};

export default DownLoadPdf;

最佳答案

您可以使用 useNavigate 代替 Navigate

import React, { useState } from "react";
import { useNavigate } from "react-router-dom";

const ConfirmRegistration = () => {
  const [name, setName] = useState();
  const [confirm, setConfirm] = useState(false);
  const navigate = useNavigate();
  const handleOnChange = (e) => {
     e.preventDefault();
     const value = e.target.value;
     setName(value);
  };
  const handleSubmit = (e) => {
    e.preventDefault();
    setConfirm(true);
    console.log(name);
    navigate('/download-pdf', {state:// Your data})
  };

关于javascript - 使用react-router-dom v6提交表单后如何重定向到另一个页面并传递数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70848130/

相关文章:

javascript - Ajax 加载评论不起作用

javascript - 使用 React Router V4 隐藏导航栏

http - 为什么我的 http 站点没有重定向到 https?

redirect - Woocommerce 操作 Hook 重定向到自定义感谢页面

redirect - 如何在内部重定向某些文件类型的HTTP状态代码

javascript - 如何在 FF4 上的 Greasemonkey 中访问函数返回值

javascript - js 段函数不再工作

javascript - 在 react + jsx 中动态设置 svg circle attr

javascript - 将 immutability-helper 与数组、对象、映射一起使用

javascript - 设置 JavaScript 变量以便稍后检查定义