【问题标题】:How to achieve in the same time properly work of React Routes on gh-pages and localhost?如何实现 React Routes 在 gh-pages 和 localhost 上同时正常工作?
【发布时间】:2022-12-03 22:52:42
【问题描述】:

404当我去任何路线。

嗯,关于这个thread 我应该把BrowserRouter 改成HashRouter。但是,如果我这样做,我的 localhost 路由将完全停止工作。任何建议如何实现两者?或者只是在开发结束时部署它?或者我错过了什么?

应用程序.tsx

import React from 'react';
import { Routes, Route } from 'react-router-dom';
import './styles/main.scss';
import { Footer } from './components/Footer';
import { Header } from './components/Header';
import { Catalog } from './components/Catalog';
import { Cart } from './components/Cart';
import { Favourites } from './components/Favourites';

const App: React.FC = () => {
  return (
    <>
      <Header />

      <Routes>
        <Route path='phones' element={<Catalog />} />
        <Route path='favourites' element={<Favourites />} />
        <Route path='cart' element={<Cart />} />
      </Routes>

      <Footer />
    </>
  );
};

索引.tsx

import React from 'react';
import { HashRouter } from 'react-router-dom';
import ReactDOM from 'react-dom/client';
import App from './App';
import './styles/utils/reset.scss';

const root = ReactDOM.createRoot(
  document.getElementById('root') as HTMLElement,
);

root.render(
  <React.StrictMode>
    <HashRouter>
      <App />
    </HashRouter>
  </React.StrictMode>,
);

【问题讨论】:

    标签: reactjs github-pages


    【解决方案1】:

    在路径中添加/

        <Route path='/phones' element={<Catalog />} />
        <Route path='/favourites' element={<Favourites />} />
        <Route path='/cart' element={<Cart />} />
    

    还为初始路由添加默认路径

       <Route path='/' element={<YOUR_COMPONENT />} /> 
    

    【讨论】:

    • 我试过了。不起作用
    猜你喜欢
    • 2018-12-09
    • 2018-05-17
    • 1970-01-01
    • 1970-01-01
    • 2020-09-05
    • 2021-10-29
    • 1970-01-01
    • 2020-11-14
    • 2021-04-26
    相关资源
    最近更新 更多