reactjs – React Router v4路由不起作用

前端之家收集整理的这篇文章主要介绍了reactjs – React Router v4路由不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是相对较新的反应,我正在试图弄清楚如何让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'));

当我运行应用程序时,主组件加载没有任何麻烦,当我点击“点击我”链接时,网址更改为localhost / about,但没有任何反应.如果我点击刷新,我会得到一个“无法获取/关于”.显然,我做错了什么,但我无法弄清楚是什么.我也在使用Webpack.

您需要使用确切的路径/否则它也将匹配/关于.
<Route exact path="/" component={Home} />

正如评论中所提到的,对于这个简单的东西,我建议使用Create React App,这将确保您的服务器代码和您的webpack设置都正确.一旦你使用create-react-app,你只需要使用npm来安装react router v4包,然后将你的代码放到App.js文件中,它应该可以工作.您可以使用create-react-app对代码进行一些小的更改,如下所示:

// App.js
import React from 'react';

import { BrowserRouter as Router,Link } from 'react-router-dom';

const Home = () => <h1><Link to="/about">Click Me</Link></h1>
const About = () => <h1>About Us</h1>

const App = () => (
  <Router>
    <Switch>
      <Route exact path="/" component={Home} />
      <Route path="/about" component={About} />
    </Switch>
  </Router>
)

export default App;

quick start instructions from React Router V4 documentation将告诉你几乎和我刚才解释的一样.

原文链接:https://www.f2er.com/react/301132.html

猜你在找的React相关文章