反应路由<link to =“”/>在maven springboot项目

时间:2016-08-23 05:05:10

标签: reactjs spring-boot react-router

我用React创建了一个maven spring boot项目,当我运行webpack时链接工作完美,当我尝试使用mvn spring-boot运行时,它会抛出错误404并且找不到页面,

我的client.js,

import React from 'react';
import { render } from 'react-dom';
import { Route,Router, browserHistory} from 'react-router';
import Home from './components/Home';
import About from './components/About';

render((
    <Router history={browserHistory}>
        <Route path="/Home" component={Home}></Route>
        <Route path="/about" component={About}></Route>
    </Router>

), document.getElementById('reactDiv'));                                                                                                        

家庭组件,

import React from 'react';

export default class Home extends React.Component {
  constructor(props) {
    super(props);
  }

  render() {
    return (
      <div>
            <h2> Home Page </h2>
            <Link to={`/about`} target="_blank"> 
                About
            </Link>
      </div>
    );
  }
}

关于组件,

import React from 'react';

export default class About extends React.Component {
  constructor(props) {
    super(props);
  }

  render() {
    return (
      <div>
            <h2> About Page </h2>
      </div>
    );
  }
}

1 个答案:

答案 0 :(得分:1)

您正在使用browserHistory,这需要在服务器端进行其他配置才能使其正常运行。引用API docs

  

browserHistory在可用时使用HTML5历史记录API,否则会回退到完全刷新   browserHistory需要在服务器端进行其他配置以提供URL,但这是现代网页的首选解决方案。

最简单的选择是使用hashHistory。这将在您的网址中使用哈希符号(#)。