亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我怎樣才能確保當我點擊一個圖標時,另一個頁面出現 React.js

我怎樣才能確保當我點擊一個圖標時,另一個頁面出現 React.js

慕無忌1623718 2023-06-15 09:48:49
我需要一些幫助。我有一個圖標,我希望當我按下該圖標時可以轉到其他頁面,但我收到此錯誤 Error: Invariant failed: You should not use <Link> outside a <Router> Error這是我的代碼:   import React from 'react';    import { IconContext } from "react-icons";    import { BsFileEarmarkArrowDown } from "react-icons/bs";    // import { Link } from "react-router-dom";    import "./icon.css"        const Question = () => {        return (            <IconContext.Provider value={{ color: "Green", className: "Icon", size:"3em" }}>               <BsFileEarmarkArrowDown />               </IconContext.Provider>        );      };          //   export default function Firms() {    //     return (    //       <Link to="/Upload.js">    //          <Question />    //       </Link>    //     );    //   }          export default Question
查看完整描述

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>

查看完整回答
反對 回復 2023-06-15
?
呼啦一陣風

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>

查看完整回答
反對 回復 2023-06-15
?
HUX布斯

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

希望對你有幫助謝謝


查看完整回答
反對 回復 2023-06-15
  • 3 回答
  • 0 關注
  • 178 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號