reactjs - react-router v5 BrowserRouter 基本名称更改,但 url 没有
问题描述
function App() {
return (
<main>
<Switch>
<Route path={`/:lng(en)?/blog/:slug`} component={BlogPost} />
<Route path={`/:lng(en)?/blog`} component={Blog} />
<Route path={`/:lng(en)?/gallery`} component={Gallery} />
<Route exact path={`/:lng(en)?`} component={Home} />
</Switch>
</main>
);
}
function MyRouter(props) {
const { lang, setLang } = useContext(LanguageContext);
return <BrowserRouter basename={lang}>{props.children}</BrowserRouter>;
}
ReactDOM.render(
<LanguageProvider>
<MyRouter>
<App />
</MyRouter>
</LanguageProvider>,
document.getElementById("root"),
);
这是我的index.jsx文件,它正在工作。我在这里遇到的问题是根据上下文BrowserRouter
的basename
变化,但它不影响 URL。
例如,第一个地址是site.com/base/some-page
。使用上下文,lang
正确更改的值,“react DevTools”表示basename
值BrowserRouter
也发生了变化。现在,当我导航时,地址应该是site.com/new-base/another-page
;但它仍然存在site.com/base/another-page
,并且 URL 没有改变。
我应该怎么办?
解决方案
推荐阅读
- javascript - AppleScript:使用 .click() 触发输入文件实际上并不附加文件
- javascript - React:使用 Generator 制作具有正向和反向方向的循环组件
- javascript - 通过单击外部关闭 html5 对话框
- rust - 为什么将所有权转移到一个函数并没有赋予我对该变量的变异权?
- bigcartel - 如何证明左边的文本块并将其浮动在大卡特尔页面的中心?
- pdfkit - PDFKit iOS 15 打印 pdf 页面不正确
- javascript - 未找到此依赖项:*swiper/vue 如何修复?
- typescript - Vue:使用只读函数+类型断言时的不同推断变量类型
- python - 无法从雅虎财经中提取表格
- api - 将 DbContext 注入 API 控制器会使它们返回 index.html 而不是 NET5 React webapp 已发布版本的实际结果