0

我正在使用带有此配置的 react-router-dom (4.1.1):

import React from 'react';
import { BrowserRouter as Router, Route, Switch, Redirect} from 'react-router-dom';

import App from './app/App.js';
const Wildcard = () => <Redirect to="/" />;
const Routes = () => (
  <Router> 
    <div>
      <Switch>
        <Route exact path="/" component={App} />
        <Route exact path="/:section/:news/:title" component={App} />
        <Route exact path="/*" render={Wildcard} />
      </Switch>
    </div>
  </Router>
); 

export default Routes;

我希望这个网址“localhost:3000/section/news/title.ghtml”在第二个条件下匹配,但我得到了这个:

Cannot GET /section/news/title.ghtml

当我删除.ghtml时,它工作正常。

这是反应路由器可以理解.ghtml的一种方式吗?

4

1 回答 1

0

解决了 Vanila Javascript 的问题:

  const url = location.pathname.replace('.ghtml','');
  history.replaceState(null,null,url);

很简单,希望对解决这个问题的人有所帮助

于 2017-06-14T14:20:43.433 回答