【问题标题】:react-router-dom v6 Routes showing blank pagereact-router-dom v6 路由显示空白页
【发布时间】:2022-03-23 15:13:48
【问题描述】:

我将页面路由到根目录,但无论我使用什么 js 文件,它都显示为空白页面。不确定出了什么问题,自去年以来就没有使用过 React,但看起来他们已经更新了 react-router-dom,所以它不再使用 Switch。任何人都知道正确的语法以便页面显示?以下是文件:

WebRoutes.js

import React from "react";
import { Routes, Route } from 'react-router-dom';
import { useNavigate } from "react-router-dom";

// Webpages
import App from './App';
import Welcome from './welcome';
import SignUp from './Signup'

export default function WebRoutes() {
  return (
    <Routes>
      <Route path='/'>
       <Welcome />
      </Route>
    </Routes>
  );
}

索引.js

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import WebRoutes from './WebRoutes';
import reportWebVitals from './reportWebVitals';

ReactDOM.render(
  <React.StrictMode>
    <WebRoutes />
  </React.StrictMode>,
  document.getElementById('root')
);

【问题讨论】:

    标签: javascript reactjs react-router-dom


    【解决方案1】:

    react-router-dom@6 中,Route 组件不会将路由内容呈现为子项,它们使用element 属性。在构建嵌套路由的情况下,其他 Route 组件是 Route 的唯一有效子组件。

    export default function WebRoutes() {
      return (
        <Routes>
          <Route path='/' element={<Welcome />} />
        </Routes>
      );
    }
    

    确保您已在您的应用程序周围呈现路由器。

    import { BrowserRouter as Router } from 'react-router-dom';
    
    ReactDOM.render(
      <React.StrictMode>
        <Router>
          <WebRoutes />
        </Router>
      </React.StrictMode>,
      document.getElementById('root')
    );
    

    【讨论】:

    • 这就是我要找的。谢谢你。您知道是否有任何文档吗?找不到任何有用的东西。
    • @Roark 除了官方文档、Routes and Route 以及“入门”部分中的任何其他概述和指南外,别无其他。
    猜你喜欢
    • 2022-07-21
    • 2022-07-19
    • 2021-11-03
    • 2022-07-09
    • 2022-08-02
    • 2022-01-22
    • 2021-12-29
    • 2022-06-23
    • 2022-01-09
    相关资源
    最近更新 更多