在使用 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;
您可以使用React路由器提供的钩子
其他方式:您可以将数据存储在全球状态并从那里使用。 redux , contextapi 等