我正在尝试使用 React router 4 和 Express 服务器。
如果我将路径设置为“/”,它就可以工作。 但是如果我设置路径“/test”并访问 test,我会得到“Cannot GET/test”。 是因为 React Router 4 与 Express 不兼容吗?
应用程序客户端.js:
import { BrowserRouter, Route, Switch } from 'react-router-dom';
import Board from './components/Board';
ReactDOM.render(
<BrowserRouter>
<div>
<Route path="/test" component={Board} />
</div>
</BrowserRouter>
, document.getElementById('react-container'));
Board.js:
var React = require('react');
var createReactClass = require('create-react-class');
var Board = createReactClass({
render(){
return (<h1>Board</h1>)
}
});
export default Board;
最佳答案
为了确保在定义所有 Express 路由后,React 处理所有路由,我们将确保 Express 应用中未处理的任何路由将被重定向到 React 中的 index.html
应用程序的处理方式如下:
// All expressjs routes
// then
app.get('*', (req, res) => {
res.sendFile(path.resolve(__dirname, 'the path to your react project', 'index.html'));
});
关于reactjs - react 路由器4和表达: cannot GET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49961731/