首页 > 解决方案 > 页面刷新时的 Reactjs 使用当前位置而不是默认页面

问题描述

我正在使用"react-router-dom": "^5.2.0"我当前的应用程序开发。我需要一个解决方案来让我的用户在页面刷新时保持在当前页面上,而不是回到默认路由 (/)。

例如,我的用户在https://example.com/services/plumbing刷新页面时,我想让他保持在同一位置,而不是像https://example.com/这样默认主页将加载默认路由。如何使用反应路由器做到这一点?

目前,每当发生刷新时,我的路线都会更新为默认值,并返回默认位置。如何解决这个问题?我这里没有任何数据依赖。

这是我的路线:

import { BrowserRouter as Router, Route, Redirect, Switch } from "react-router-dom";

<Router>
            <Layout>
            <Switch>
                <Suspense fallback={<div>Loading...</div>}>
                    <Redirect exact from="/" to="/home" />
                    <Route path="/home">
                        <Home />
                    </Route>
                    <Route path="/about-us">
                        <Aboutus show={-1} />
                    </Route>
                    <Route path="/what-we-do">
                        <WhatWeDo />
                    </Route>
                    <Route path="/projects">
                        <Projects />
                    </Route>
                    <Route path="/contact-us">
                        <ContactUs />
                    </Route>
                </Suspense>
            </Switch>
            </Layout>
        </Router>

这是我当前的.htaccess文件:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteRule . /index.html [L]
</IfModule>

我应该在哪里进行更改?我需要做什么改变?提前致谢。

标签: reactjsreact-router-domreact-router-v5

解决方案


推荐阅读