首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >反应路由使空白屏幕无法正确输出。

反应路由使空白屏幕无法正确输出。
EN

Stack Overflow用户
提问于 2021-12-09 07:28:42
回答 3查看 884关注 0票数 1

我已经尝试从App.js文件中调用我的路由,但是这是不正常的。我试过很多次了,但是浏览器得到的是空白屏幕。我对js框架的反应是完全陌生的

App.js:

代码语言:javascript
复制
import React from 'react';
import { BrowserRouter, Route,Routes} from 'react-router-dom';
import Login from './Components/Login/Login';
function App() {
  return (
    <div className="App">
      
       <BrowserRouter>
          <Routes>
            <Route path="/" exact={true} component={Login}></Route>
            <Route path="/login" exact={true} component={Login}></Route>
          </Routes>
       </BrowserRouter>    
    </div>
  );
}
export default App;

登录组件:(Login.js)

代码语言:javascript
复制
import React from "react";

const Login = () => {
  return (
    <form>
      <h3>Sign In</h3>

      <div className="form-group">
        <label>Email address</label>
        <input
          type="email"
          className="form-control"
          placeholder="Enter email"
        />
      </div>
    </form>
  );
};
export default Login;
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-12-09 08:30:05

您应该删除<Routes>

在React路由器V5中,我们只有<BrowserRouter><Route>

或者您也可以在导入时这样做:BrowserRouter as Router

代码语言:javascript
复制
import React from "react";
import {
  BrowserRouter as Router,
  Switch
  Route,
} from "react-router-dom";
import Login from "./Login";

function App() {
  return (
    <div className="App">
      <BrowserRouter>
        <Switch>
          <Route exact path="/" component={Login}></Route>
          <Route path="/login" exact={true} component={Login}></Route>
        </Switch>
      </BrowserRouter>
    </div>
  );
}
export default App;
票数 2
EN

Stack Overflow用户

发布于 2021-12-09 08:27:53

试试这个代码片段。

用开关语句更改路由。

代码语言:javascript
复制
import React from "react";
import { BrowserRouter, Route, Switch } from "react-router-dom";
import Login from "./Login";
function App() {
  return (
    <div className="App">
      <BrowserRouter>
        <Switch>
          <Route exact path="/" component={Login}></Route>
          <Route path="/login" exact={true} component={Login}></Route>
        </Switch>
      </BrowserRouter>
    </div>
  );
}
export default App;
票数 0
EN

Stack Overflow用户

发布于 2022-02-18 10:13:51

经过一天的研究,我找到了解决方案,但在互联网上却无处可寻。在终端中键入以下命令: npm卸载you路由器-dom(如果是这样安装的话)或npm卸载you路由器-dom@6(如果是这样安装的话)。

然后通过键入npm安装see router-dom@5安装see router-dom@5,您就可以在浏览器中看到组件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70286102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档