我的路由无法使用Usenavigate工作。我该如何解决这个问题
嘿,有人可以解释我的代码中有什么问题。我正在尝试路由路径,并使用Usenavigate链接它。但是它不起作用,URL发生了变化,但输出与众不同。 中显示我的代码
app.js。
import React from 'react'
import { Routes, Route } from 'react-router-dom'
import Apps from './Apps'
import Lists from './Lists'
function App() {
return (
<div className='App'>
<Routes>
<Route path='/' element={<Apps/>}/>
<Route path='/lists' element={<Lists/>}/>
</Routes>
</div>
)
}
export default App
将在此文件
import React, { useState } from "react";
import "./App.css";
import Form1 from "./form1";
import Form2 from "./form2";
import { Box, Paper, Button } from "@mui/material";
import AccountCircleIcon from "@mui/icons-material/AccountCircle";
import { useNavigate } from "react-router-dom";
import ArrowForwardIcon from "@mui/icons-material/ArrowForward";
function Apps() {
const [formData, setFormData] = useState({
name: "",
gender: "",
address: "",
hobby: "",
email: "",
});
let arr = [];
const handleOnChange = () => {
arr = [formData];
console.log("arr", arr);
};
let navigate = useNavigate();
return (
<>
<React.Fragment>
<Box
sx={{
display: "flex",
flexWrap: "wrap",
"& > :not(style)": {
m: "auto",
width: 250,
height: 485,
marginTop: "50px",
},
}}
>
<Paper elevation={20}>
<div className="App">
<AccountCircleIcon
fontSize="large"
style={{ color: "#1976D2", marginTop: "10px" }}
/>
<h1
style={{
color: "#1976D2",
marginTop: "10px",
marginBottom: "10px",
}}
>
Form Data
</h1>
<Button onClick={() => navigate("/lists")} variant="contained">
<ArrowForwardIcon />
List
</Button>
<Form1 formData={formData} setFormData={setFormData} />
{formData.gender === 2 && (
<Form2 formData={formData} setFormData={setFormData} />
)}
<div style={{ marginTop: "10px" }}>
<Button
variant="contained"
type="submit"
onClick={handleOnChange}
>
Submit
</Button>
</div>
</div>
</Paper>
</Box>
</React.Fragment>
</>
);
}
export default Apps;
我
import React from 'react'
function Lists() {
return (
<div>Lists</div>
)
}
export default Lists
Hey can someone please explain what is wrong in my code. i am trying to Route my path and link it using useNavigate. but its not working, URL changed but output was as it is. i will show my code
APP.js -- in this file i am using Routes, Routes\
import React from 'react'
import { Routes, Route } from 'react-router-dom'
import Apps from './Apps'
import Lists from './Lists'
function App() {
return (
<div className='App'>
<Routes>
<Route path='/' element={<Apps/>}/>
<Route path='/lists' element={<Lists/>}/>
</Routes>
</div>
)
}
export default App
APPS.js -- in this file i was using useNavigate
import React, { useState } from "react";
import "./App.css";
import Form1 from "./form1";
import Form2 from "./form2";
import { Box, Paper, Button } from "@mui/material";
import AccountCircleIcon from "@mui/icons-material/AccountCircle";
import { useNavigate } from "react-router-dom";
import ArrowForwardIcon from "@mui/icons-material/ArrowForward";
function Apps() {
const [formData, setFormData] = useState({
name: "",
gender: "",
address: "",
hobby: "",
email: "",
});
let arr = [];
const handleOnChange = () => {
arr = [formData];
console.log("arr", arr);
};
let navigate = useNavigate();
return (
<>
<React.Fragment>
<Box
sx={{
display: "flex",
flexWrap: "wrap",
"& > :not(style)": {
m: "auto",
width: 250,
height: 485,
marginTop: "50px",
},
}}
>
<Paper elevation={20}>
<div className="App">
<AccountCircleIcon
fontSize="large"
style={{ color: "#1976D2", marginTop: "10px" }}
/>
<h1
style={{
color: "#1976D2",
marginTop: "10px",
marginBottom: "10px",
}}
>
Form Data
</h1>
<Button onClick={() => navigate("/lists")} variant="contained">
<ArrowForwardIcon />
List
</Button>
<Form1 formData={formData} setFormData={setFormData} />
{formData.gender === 2 && (
<Form2 formData={formData} setFormData={setFormData} />
)}
<div style={{ marginTop: "10px" }}>
<Button
variant="contained"
type="submit"
onClick={handleOnChange}
>
Submit
</Button>
</div>
</div>
</Paper>
</Box>
</React.Fragment>
</>
);
}
export default Apps;
Lists.js -- which i want to Route as result
import React from 'react'
function Lists() {
return (
<div>Lists</div>
)
}
export default Lists
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论