как я могу убедиться, что при нажатии на значок в Reactjs появляется другая страница

#javascript #reactjs #react-router

#javascript #reactjs #реагировать-маршрутизатор

Вопрос:

У меня есть 3 файла: корневой файл, файл значка (компонент) и файл загрузки (компонент)

Я хочу убедиться, что при нажатии на значок появляется экран загрузки.

Я добавил функцию маршрутизатора в файл значка, чтобы он был подключен к файлу загрузки.

Только когда я нажимаю ее сейчас, ничего не происходит.

Как я могу это исправить?

 The Root file:

  import React from 'react';
    import './App.css';
    import ProcurementAnalysis from "./Pages/ProcurementAnalysis/ProcurementAnalysis";
    import  Question from "./Components/upload/icon";

function App() {
    return (
        <React.Fragment>
            <ProcurementAnalysis />
            <Question />
        </React.Fragment>
    );
}
export default App;
  

 The Icon file:
    import React from 'react';
        import { IconContext } from "react-icons";
        import { BsFileEarmarkArrowDown } from "react-icons/bs";
        import {
          BrowserRouter as Router,
          Switch,
          Route,
          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 (
          <Router>
            <Link to="/"><Question /></Link>
            <Switch>
            <Route exact path="./Upload.js">
              <Question />
            </Route>
            </Switch>
          </Router>,
          <Question />
           );
           }
  

 The upload file
import React from 'react';
class Upload extends React.Component {
  render() {
    return <h1>Upload</h1>;
  }
}
  export default Upload
  

Ответ №1:

 The Icon file:
    import React from 'react';
        import { IconContext } from "react-icons";
        import { BsFileEarmarkArrowDown } from "react-icons/bs";
        import {
          BrowserRouter as Router,
          Switch,
          Route,
          Link
        } from "react-router-dom";
        import "./icon.css"
        import Upload from './upload'


        const Question = () => {
            return (
                <IconContext.Provider value={{ color: "Green", className: "Icon",               size:"3em" }}>
                   <BsFileEarmarkArrowDown />
                   </IconContext.Provider>
            );
          };
         export default function Firms() {
           return (
          <Router>
            <Link to="/"><Question /></Link>
            <Switch>
            <Route
          path='/upload'
          render={() => {
            return <Upload />;
          }}
        />
            </Switch>
          </Router>,
          <Question />
           );
           }
  

я понимаю, что загрузка находится в том же пути к файлу, что и этот файл