javascript - 当我单击注册按钮时,它不会进入注册组件

标签 javascript reactjs react-router react-router-dom

我的目标是,当我单击注册按钮时,它将转到组件SignUp。但不幸的是它没有路由或运行。

应用程序.js:

import React from "react";
import "./styles/App.css";
import Homepage from "./pages/homepage";
import { Routes, Route } from "react-router-dom";

export const App = () => {
  return (
    <>
      <Routes>
        <Route path="/" />
      </Routes>
    </>
  )
  <Homepage/>
};

export default App;

Body.js:

import React from "react";
import { BrowserRouter, Routes, Link, Route, Switch } from "react-router-dom";
import SignUp from "../pages/signUp";

const Body = () => {
  return (
    <div>
      <BrowserRouter>
        <button type="button" id="signup-btn">
          <Link to="/signup">Sign up</Link>
        </button>
        <Switch>
          <Route path="/signup" element={SignUp}/>
        </Switch>
      </BrowserRouter>
    </div>
  )
}

export default Body;

有什么建议吗?或者我应该重写导航栏分隔的代码?

最佳答案

首先,在您的 App.js 文件中,确保导入 BrowserRouter来自react-router-dom并用它包装整个应用程序:

import React from "react";
import "./styles/App.css";
import Homepage from "./pages/homepage";
import { BrowserRouter as Router, Routes, Route } from "react-router-dom";

const App = () => {
  return (
    <Router>
      <Routes>
        <Route path="/" element={<Homepage />} />
      </Routes>
    </Router>
  );
};

export default App;

现在,在您的 Body.js 文件中,删除不必要的 <BrowserRouter>元素,因为它已在 App.js 中使用。
相反,请使用 Link导航到 SignUp 组件的组件:

import React from "react";
import { Link } from "react-router-dom";
import SignUp from "../pages/signUp";

const Body = () => {
  return (
    <div>
      <button type="button" id="signup-btn">
        <Link to="/signup">Sign up</Link>
      </button>
    </div>
  );
};

export default Body;

关于javascript - 当我单击注册按钮时,它不会进入注册组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76842846/

相关文章:

javascript - 设置超时不会立即返回

javascript - "type"是什么意思,在 ECMA 6 中问号有特殊用途吗?

javascript - 为什么 material-ui 两次调用他们的对话框?

reactjs - 如何在 src 文件夹之外要求具有反应 Electron 的图像(应用程序支持)

javascript - 如何访问 AngularJS 中最近的元素(无 jQuery)

javascript - 使用 Scrapy Xpath 从脚本标签获取数据并将其用作 CSV

css - React-Router 和 Material-UI : Applying custom themes depending on route

javascript - 在 React 中渲染数组中的随机元素

reactjs - Electron 应用程序无法使用 browserHistory 与 React-Router 一起使用

javascript - 使用 phantom js 从 jsfiddle 截屏