【问题标题】:React router not showing a page反应路由器不显示页面
【发布时间】:2021-01-20 06:51:42
【问题描述】:

您好,我正在使用 react router dom 进行路由,但我现在遇到了问题,因为它不会只加载我的一个页面。其他页面正常工作,但我的关于页面显示空白页面。在我的本地主机中,每个页面都可以正常工作,但是当我将其部署到主机时,只有我的关于页面显示空白页面。有什么原因吗?

主路由:

import React, { Suspense, lazy } from 'react';
import {
  BrowserRouter as Router,
  Switch,
  Route,
  Redirect,
} from 'react-router-dom';
import Loading from './components/Loading';

const Header = lazy(() => import('./components/Header'));
const Home = lazy(() => import('./components/Pages/Home'));
const ResearchPrograms = lazy(() => import('./components/Pages/ResearchPrograms'));
const ContactUs = lazy(() => import('./components/Pages/ContactUs'));
const GICR = lazy(() => import('./components/Pages/GICR'));
const About = lazy(() => import('./components/Pages/About'));
const Investors = lazy(() => import('./components/Pages/Investors'));
const Team = lazy(() => import('./components/Pages/Team'));
const Footer = lazy(() => import('./components/Footer'));
const NotFound = lazy(() => import('./components/Pages/Page404'));

const MainRouter = () => {
  return (
    <Router>
      <Suspense fallback={<Loading />}>
        <Header />
        <Switch>
          <Route exact path="/">
            <Redirect to="/home" />
          </Route>
          <Route path="/home" component={Home} />
          <Route path="/researchPrograms" component={ResearchPrograms} />
          <Route path="/contactUs" component={ContactUs} />
          <Route path="/gicr" component={GICR} />
          <Route path="/about" component={About} />
          <Route path="/investors" component={Investors} />
          <Route path="/team" component={Team} />
          <Route component={NotFound} />
        </Switch>
        <Footer />
      </Suspense>
    </Router>
  );
}

export default MainRouter;

关于:

import React, { useEffect, useRef, } from 'react';
import { Link, } from 'react-router-dom';
import DropdownMenu from '../DropdownMenu';
import HandleStyle from '../HandleJumpStyleAbout';

const About = () => {
  const firstParag = useRef<HTMLDivElement>(null);
  const secondParag = useRef<HTMLDivElement>(null);
  useEffect(() => {
    document.addEventListener('scroll', () => {
      HandleStyle(firstParag, secondParag);
    }, true);
    return () => document.removeEventListener('scroll', () => {
      HandleStyle(firstParag, secondParag);
    }, true);
  }, []);
  return (
    <div style={{ marginBottom: 30 }}>
      <img className="about-image"
        src={require('../../AboutUs.jpg')}
        alt="main-wallpaper"
      />
      <div className="dropdownMenu-about">
        <DropdownMenu
          items={secondHeader}
          onPress={(index) => {
            switch (index) {
              case 0:
                handleJumpTo(firstParag, true);
                break;
              default:
                handleJumpTo(secondParag, true);
                break;
            }
          }}
        />
      </div>
    </div>
  );
}

export default About;

【问题讨论】:

  • 尝试添加&lt;Route exact path="/about" component={About} /&gt;,我认为&lt;Router&gt; 没有必要!删除它并测试。
  • 检查您的about页面是否正确导出,coreect文件夹中的路径和文件名,这似乎很好,可能是您在其他地方有问题
  • @b3hr4d 没用
  • @Ayushi Keshri 是的,它是正确的。我不知道,因为它在我的本地主机中运行良好
  • 你是否部署了 bundle.js 或整个 react ,如果整体尝试放置控制台并检查网络选项卡并进行调试

标签: reactjs react-router-dom


【解决方案1】:

你需要在 Switch HOC 女巫exact prop 中添加路由

   <Switch>
          <Route exact path="/home" component={Home} />
          <Route exact path="/researchPrograms" component={ResearchPrograms} />
          <Route exact path="/contactUs" component={ContactUs} />
          <Route exact path="/gicr" component={GICR} />
          <Route exact path="/about" component={About} />
          <Route exact path="/investors" component={Investors} />
          <Route exact path="/team" component={Team} />
          <Route component={NotFound} />
    </Switch>

【讨论】:

  • 它在switch HOC里面,你为什么用了大约2次?
  • 糟糕的是,我没有注意到 switch HOC 内的 /about 路由。你能发布关于页面的代码吗?
猜你喜欢
  • 1970-01-01
  • 2022-06-25
  • 2021-01-16
  • 1970-01-01
  • 2022-11-30
  • 1970-01-01
  • 2019-08-19
  • 2021-11-06
  • 1970-01-01
相关资源
最近更新 更多