Javascript 使用react router键入url时无法访问url路由

Javascript 使用react router键入url时无法访问url路由,javascript,node.js,reactjs,express,react-router,Javascript,Node.js,Reactjs,Express,React Router,只是尝试使用react router获得动态路由-但是当我键入url时,例如localhost:3000/5,我得到错误“cannot get/5”。我的路由器设置如下: class App extends Component { render() { return ( <Provider store={store}> <ConnectedRouter history={history}>

只是尝试使用react router获得动态路由-但是当我键入url时,例如localhost:3000/5,我得到错误“cannot get/5”。我的路由器设置如下:

class App extends Component {
    render() {
        return (
            <Provider store={store}>
                <ConnectedRouter history={history}>
                    <div>
                        <Route exact path="/" component={Home} />
                        <Route path="/:id" component={Profile} />
                    </div>
                </ConnectedRouter>
            </Provider>
        );
    }
}

ReactDOM.render(
    <App />,
    document.getElementById('root')
);
服务器:

require('./middleware')(app);
const people = [];

app.on('listening', () => {
    controllers.getPeopleData(people);
});

app.get('/people', (req, res) => {
    const sortedPeople = controllers.alphabetizePeople(people);
    res.json(sortedPeople);
})

app.use(function(err, req, res, next) {
  if (err) {
    res.status(500).send(err);
    console.log(err.message);
  }
  next();
});

app.listen(3000, () => {
    app.emit('listening');
});
console.log('listening on 3000');

非常感谢您的任何意见-谢谢

如我所见,5没有定义。此错误是由于未在
路由器中声明此路由造成的。这是一个过程:

在.jsx中尝试,例如:indexRoutes.jsx:

import { Router, Route, browserHistory} from 'react-router';

import page5 from './your_route/5.jsx';

export default class Routes extends React.Component {
    constructor() {
         super()
    }

    render() {
        return (
            <Router history={browserHistory}>                
                 <Route path="/5" component={page5}/> 
            </Router>
         );
    }
从'react Router'导入{Router,Route,browserHistory};
从“/your_route/5.jsx”导入第5页;
导出默认类路由扩展React.Component{
构造函数(){
超级()
}
render(){
返回(
);
}
完成此操作后,在“index.js”(项目的js根目录)中放入:

从“React”导入React;
从“react dom”导入react dom;
从“./routes/IndexRoutes.jsx”导入IndexRoutes;//此路由可能不同。请确保输入正确的索引。
//将主组件渲染到dom中
ReactDOM.render(,document.getElementById('idRoot');

现在,当您在浏览器中放入
localhost:3000/5
时,您将看到在
/your_route/5.jsx

中定义的组件。结果表明,my express server未配置为pushstate server。在服务器中的所有路由之后添加以下代码解决了此问题

app.get('*', function(request, response){
  response.sendfile('./dist/index.html');
});

感谢您的回复。/:id不应该允许我去任何一条属于数字的路线吗?这是我的目标,但即便如此,如果我将:/id更改为5,(即
我不幸地在您的文件中(第一行)出现了相同的错误这是:从“./your_route/Profile.jsx”导入配置文件;我的代码中已经有了它-我也保留了所有导入内容,代码段简短:)
import React from 'react';
import ReactDOM from 'react-dom';

import IndexRoutes from './routes/IndexRoutes.jsx'; //this route could be diffentent. Make sure you put the correct.

// Render the main component into the dom
ReactDOM.render(<IndexRoutes/>, document.getElementById('idRoot'));
app.get('*', function(request, response){
  response.sendfile('./dist/index.html');
});