在我阅读的所有教程中,他们使用和设置react-router与" /"他们的路径路径和http://mysite.or/作为他们的域名。如果我想要" http://mysite.or/something"为我的基本路径(家)。我只需要更改(添加)" /"在react-router上成为" / something"。还是有正确的方法来做到这一点?
答案 0 :(得分:1)
是的,如果您使用路径作为" / something"对于父路由组件然后/某些东西将是基本路径。但最好使用" /"在父级,您创建一个子视道路径组件与基本路径" / something"
<Route path="/">
<Route path="/something">
//Put routes that needs base path as /something/...
</Route>
</Route>
答案 1 :(得分:0)
现在看来 basename
是解决此问题的正确方法。
我喜欢为此使用 PUBLIC_URL
,以便我可以针对不同的部署场景更改它。
<Router basename={process.env.PUBLIC_URL}>
https://reactrouter.com/web/api/BrowserRouter/basename-string
<块引用>基名:字符串
所有位置的基本 URL。如果您的应用程序是从服务器上的子目录提供的,您需要将其设置为子目录。格式正确的基本名称应该有一个前导斜杠,但没有尾随斜杠。
<BrowserRouter basename="/calendar">
<Link to="/today"/> // renders <a href="/calendar/today">
<Link to="/tomorrow"/> // renders <a href="/calendar/tomorrow">
...
</BrowserRouter>