Reactjs react router v5 BrowserRouter basename更改,但url不';T 函数应用程序(){ 返回( ); } 功能MyRouter(道具){ const{lang,setLang}=useContext(LanguageContext); 返回{props.children}; } ReactDOM.render( , document.getElementById(“根”), );
这是我的index.jsx文件,它正在工作。我这里的问题是Reactjs react router v5 BrowserRouter basename更改,但url不';T 函数应用程序(){ 返回( ); } 功能MyRouter(道具){ const{lang,setLang}=useContext(LanguageContext); 返回{props.children}; } ReactDOM.render( , document.getElementById(“根”), );,reactjs,react-router,Reactjs,React Router,这是我的index.jsx文件,它正在工作。我这里的问题是BrowserRouter的basename会根据上下文进行更改,但不会影响URL 例如,第一个地址是site.com/base/some page。使用上下文,lang的值正确更改,“react-DevTools”表示BrowserRouter的basename值也已更改。现在,当我导航时,地址应该是site.com/newbase/other page;但是它仍然是site.com/base/另一个页面,URL没有改变 我该怎么办 f
BrowserRouter
的basename
会根据上下文进行更改,但不会影响URL
例如,第一个地址是site.com/base/some page
。使用上下文,lang
的值正确更改,“react-DevTools”表示BrowserRouter
的basename
值也已更改。现在,当我导航时,地址应该是site.com/newbase/other page
;但是它仍然是site.com/base/另一个页面
,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"),
);