【发布时间】:2017-09-13 09:02:33
【问题描述】:
我对 React 比较陌生,我正在尝试弄清楚如何让 React 路由器工作。我有一个超级简单的测试应用程序,看起来像这样:
import React from 'react';
import ReactDOM from 'react-dom';
import {BrowserRouter as Router, Route, Switch, IndexRoute, Link} from 'react-router-dom';
const Home = () => <h1><Link to= "/about">Click Me</Link></h1>
const About = () => <h1>About Us</h1>
const Test = () => (
<Router>
<Switch>
<Route path ="/" component = {Home} />
<Route path ="/about" component = {About} />
</Switch>
</Router>
)
ReactDOM.render(<Test />, document.getElementById('app'));
当我运行应用程序时,主页组件会毫无问题地加载,当我单击“单击我”链接时,url 会更改为 localhost/about,但是什么也没有发生。如果我单击刷新,我会收到“无法获取 /about”。显然我做错了什么,但我无法弄清楚是什么。我也在使用 Webpack。
【问题讨论】:
-
控制台有消息吗?这可能是
About组件而不是路由器本身的问题。另外,尝试将About组件放在/ 路径上,看看会发生什么。 -
RE:无法获取 /about:考虑使用 create-react-app。它是 facebook 的祝福,它使服务器成为开发中开箱即用的工作的一部分,以及许多其他开发细节。如果没有它,您需要自己管理将所有内容路由到 index.html,或者在 react-router 中使用哈希路由器。
标签: reactjs react-router react-router-v4