我的网站上有一个链接:
<a href="/en">
<li className="lang">ENGLISH</li>
</a>
和一条路线:
<Route history={browserHistory} path="/en">
<HomeLayoutEn />
</Route>
但是当我单击链接时,我得到了404
最初,我的链接是:
<Link to="/en">
<li className="lang">ENGLISH</li>
</Link>
但是我将其更改为html链接,因为我对SPA路由不感兴趣,并且在手动访问url时遇到404问题。
任何想法都出了什么问题吗?
答案 0 :(得分:0)
使用React-router中的Link组件代替锚标记,因为锚标记将使用浏览器历史记录API,而Link使用由Router组件使用的历史对象,而您的整个路由都由Router管理。
此外,您需要在Router组件上指定历史记录,而不是Route,并且Route组件只需简单地指定路径。另外,您将在层次结构的顶层拥有一个路由器组件
<Router history={browserHistory} >
<Route path="/en" component={HomeLayoutEn} />
</Router>
“链接”将用作
<Link to="/en">
<li className="lang">ENGLISH</li>
</Link>
现在,如果您希望使用不带SPA的anchor tag
,那么对于每条路线,您都需要生成不同的bundle输出html