3 回答

TA貢獻2041條經驗 獲得超4個贊
您只能在樹組件<Link>內部使用<Router>。
<Router>
? <Switch>?
? ? <Route exact path="/upload">
? ? ? <Upload /> // Conditionally rendered views that may contain links pointing to different routes
? ? </Route>
? </Switch>
</Router>
您的<Question/>組件需要留在<Router>組件內部(因為與路由上下文相關的所有內容)。
要將 a 分配Link給您的問題,您可以這樣做:
<Question component={Link} to="/upload"/>
最后,把它放在你<Router>樹的某個地方。只要包含在路由上下文中,在哪個級別都沒有關系:
<Router>
? <Switch>?
? ....
? </Switch>
? <Question component={Link} to="/upload"/>
</Router>

TA貢獻1802條經驗 獲得超6個贊
1 - <Link to="/Upload.js">- 這是錯誤的,<Link>不是用來鏈接文件的,應該是<Link to="/upload">.
2 - 設置一些路線
<Router>
? <Switch>?
? ? <Route exact path="/upload">
? ? ? <Upload />? ? ?/* This component from ur upload.js file */
? ? </Route>
? ? <Route path="/firms">
? ? ? <Firms />
? ? </Route>
? </Switch>
</Router>

TA貢獻1876條經驗 獲得超6個贊
如果您想將頁面重定向到上傳,則不能在沒有路由器的情況下使用鏈接
如果你想要加載另一個 React 組件,因為你在鏈接路徑中編寫了 Upload.js
做這個
import Uploads from 'upload.js file path';
import React from 'react';
import { IconContext } from "react-icons";
import { BsFileEarmarkArrowDown } from "react-icons/bs";
import "./icon.css"
const Question = () => {
return (
<IconContext.Provider value={{ color: "Green", className: "Icon", size:"3em" }}>
<BsFileEarmarkArrowDown />
</IconContext.Provider>
);
};
export default function Firms() {
return (
<Uploads/>
<Question />
);
}
export default Question
如果你想讓你的 url 去上傳,你可以使用 Use History hooks 這樣你就可以做到這一點
import React from 'react';
import { IconContext } from "react-icons";
import { BsFileEarmarkArrowDown } from "react-icons/bs";
import { useHistory } from "react-router-dom";
import "./icon.css"
const Question = () => {
let history = useHistory();
return (
<IconContext.Provider value={{ color: "Green", className: "Icon", size:"3em" }}>
<BsFileEarmarkArrowDown />
</IconContext.Provider>
);
};
export default function Firms() {
return (
history.push("/upload");
<Question />
);
}
export default Question
希望對你有幫助謝謝
添加回答
舉報